0

Либо я очень плохо понимаю , либо я не знаю что со мной, объясните подробно как всё это работает, спасибо

class Player: def __init__(self, name, level): self.name = name self.level = level def intro(self): print(self.name + " (Level " + self.level + ")") name = input() level = input() p = Player(name,level) p.intro()

24th Mar 2023, 3:15 PM
Maksims/マキシム
Maksims/マキシム - avatar
1 Answer
+ 2
Атрибут `level` в классе `Player` передается как строка, а не целое число. Это вызовет ошибку типа TypeError при попытке объединить `self.level` со строкой в методе `intro`. Чтобы исправить это, вы можете преобразовать входное значение `level` в целое число с помощью функции `int()`. Вот исправленный код: ``` class Player: def __init__(self, name, level): self.name = name self.level = int(level) def intro(self): print(self.name + " (Уровень " + str(self.level) + ")") имя = ввод() уровень = input() p = Игрок(имя, уровень) p.intro() ``` Обратите внимание на использование `int(level)` для преобразования входных данных `level` в целое число и `str(self.level)` для преобразования `self.level` обратно в строку для конкатенации строк в методе `intro`.
25th Mar 2023, 7:26 AM
Otid Kartgepsut
Otid Kartgepsut - avatar