Створити ще одного чарівника, як екземпляр класу у цій же програмі.
*Додати фрагмент програми, у якому чарівники виконають по одній дії (методу) і визначити переможця за більшою кількістю мани
Пожалуйста сделайте в пайтоне. Сделать нужно на основе фото. Даю 100 балов
![](https://st.uroker.com/files/bd9/bd9e16b4ea7833a0130b2446d4968edc.png)
Ответы
wizards = []
class Wizard():
def __init__(self, name:str='', power:int=0) -> None:
if name in [wizard.name for wizard in wizards] or name == '':
self.name = 'wizard'+str(len(wizards)+1)
else:
self.name = name
self.power = power
wizards.append(self)
def upPower(self, mana:int=0) -> None:
self.power += mana
def downPower(self, mana:int=0) -> None:
self.power -= mana
def __str__(self) -> str:
return f"name: {self.name}; power: {self.power}"
def magic(wizard:Wizard=None) -> None:
print(wizard)
if input('1-чарівник чаклує, 2-чарівник випив зілля: ')=='1':
wizard.downPower(50)
else:
wizard.upPower(50)
def main() -> None:
Wizard('wizard1', 500)
Wizard('wizard2', 500)
for wizard in wizards:
magic(wizard=wizard)
winner: Wizard = max(wizards, key=lambda x:x.power)
print('переможець:', winner.name)
if __name__ == '__main__':
main()