• Предмет: Информатика
  • Автор: radchenkopolina2008
  • Вопрос задан 4 месяца назад

Створити ще одного чарівника, як екземпляр класу у цій же програмі.
*Додати фрагмент програми, у якому чарівники виконають по одній дії (методу) і визначити переможця за більшою кількістю мани
Пожалуйста сделайте в пайтоне. Сделать нужно на основе фото. Даю 100 балов

Приложения:

Ответы

Ответ дал: anonymous2010
1

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()


anonymous2010: можеш скіки хош тих візардів добавить
Вас заинтересует