Дмитрий Смекалов
Гуру
(4316)
3 недели назад
Возможно, для корректной работы кода нужно импортировать модуль со словарём видов спорта. Если используется код из предыдущего задания, то нужно добавить строку импорта в начале файла:
from sports import sports_dict
Также нужно убедиться, что файл с модулем «Правила игры» имеет название game_rules.py и находится в том же каталоге, что и файл с кодом для программы.
Если после этого ошибка осталась, то необходимо убедиться, что файл с модулем "Правила игры" корректно определён и имеет следующее содержимое:
class GameRules:
def __init__(self, time, num_players, goal):
self.time = time
self.num_players = num_players
self.goal = goal
Проверьте это и запустите программу снова.
Используйте сохранённый модуль, чтобы запрограммировать программу: при запуске печатаются виды спорта (из предыдущей программы) и предлагается выбрать один из них, после чего должны быть выведена информация о выбранном спорте. Выбор предлагается пока не будет введено «0».
код:
class GameRules:
def __init__(self, time, num_players, goal):
self.time = time
self.num_players = num_players
self.goal = goal
from sports import sports_dict # предполагается, что sports_dict - это словарь видов спорта
game_rules_dict
game_rules_dict = {}
for sport, rules in sports_dict.items():
time, num_players, goal = rules
game_rules_dict[sport] = GameRules(time, num_players, goal)
print("Выберите вид спорта из списка:")
for i, sport in enumerate(sports_dict, 1):
print(f"{i}. {sport}")
print("0. Выход")
while True:
choice = input("Введите номер выбранного вида спорта: ")
if choice == "0":
break
try:
choice = int(choice)
sport = list(sports_dict.keys())[choice - 1]
rules = game_rules_dict[sport]
print(f"\nПравила игры в {sport}:")
print(f"Время игры: {rules.time}")
print(f"Количество игроков: {rules.num_players}")
print(f"Цель игры: {rules.goal}")
except (ValueError, IndexError):
print("Некорректный выбор. Попробуйте еще раз.")
проблема в 6 строке, пишет что sports не найден, крч нужен либо новый работающий код или этот без ошибки