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()
1 ответ
+ 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`.