import json import random from pathlib import Path from typing import List from Rooms import Room my_rooms = [] raw_room_data = Path('room_data.json').read_text() room_data = json.loads(raw_room_data) for room in room_data: my_rooms.append(Room(room['grid_col'], room['grid_row'], room['name'], room['description'], room['dark'])) dice = ["1", "2",] sides = ["4", "6", "8", "10", "12", "20"] def parse_input(input_string: str, my_list: List): if input_string.strip() in my_list: return int(input_string) else: show_list = "" for element in my_list: show_list += f"{element}," show_list = show_list[:-1] print(f"Please enter a number from [{show_list}].") raise SystemExit(1) def roll_dice(num_dice: int, num_sides: int = 6): roll_results = [] for _ in range(num_dice): roll = random.randint(1, num_sides) roll_results.append(roll) return roll_results #User Inout on howmany dice to roll num_dice_input = input(f"How many dice do you want to roll? [{dice[0]}-{dice[-1]}] ") num_dice = parse_input(num_dice_input, dice) print(num_dice) my_list = "" for sided in sides: my_list += f"{sided}," my_list = my_list[:-1] num_sides_input = input(f"How many sides from [{my_list}] ") num_sides = parse_input(num_sides_input, sides) print(num_sides) #Results of ice roll num_dice_input = roll_dice(num_dice, num_sides) print(num_dice_input)