class Unit: def __init__(self, name, health, armor): self.name = name self.health = health self.armor = armor def print_info(self): print(F"Name: {self.name} Health: {self.health} Armor: {self.armor}", end=" ") class Warrior (Unit): def __init__(self, name, health, armor, ammo, gun): Unit.__init__(self, name, health, armor) self.ammo = ammo self.gun = gun def print_info(self): Unit.print_info(self) print(F"Ammo: {self.ammo} Gun: {self.health}") class Mech (Unit): def __init__(self, name, health, armor, ammo, gun): Unit.__init__(self, name, health, armor) self.ammo = ammo self.gun = gun def print_info(self): Unit.print_info(self) print(F"Ammo: {self.ammo} Gun: {self.health}") class Init: list_names = ["Tim", "Sergey", "Leha", "Mech1", "Mech2"] list_health = [115, 360, 228,712,876] list_armor = [10, 10, 10,0,0] list_ammo = ["9 × 19 mm Parabellum (pistol)", "5.56 mm NATO (interim)", "7.62 mm NATO (rifle)", "Draining Dexterous Dagger", "Energetic Power Wall"] list_gun = ["M-16", "MP-5", "MP-40", "Bullet", "Bullet"] all_armor = 0 all_health = 0 def main(self): warrior = [Warrior(self.list_names[i], self.list_health[i], self.list_armor[i], self.list_ammo[i], self.list_gun[i])for i in range(3)] mech = [Mech(self.list_names[i+3], self.list_health[i+3], self.list_armor[i+3], self.list_ammo[i+3], self.list_gun[i])for i in range(2)] check_out = True all_health = 0 all_armor = 0 for i in warrior + mech: self.all_health += i.health self.all_armor += i.armor while check_out: print("1 = info about every unit") print("2 = info about all army") print("3 = attack") print("4 = exit") check_enter = input() if check_enter == '1': for i in warrior + mech: i.print_info() if check_enter == '2': print(F"All health: {self.all_health} all armor: {self.all_armor}") if check_enter == '3': i = Init() i.attack(warrior, mech) if check_enter == '4': check_out = False def attack(self, warrior, mech): for i in warrior + mech: self.all_health += i.health self.all_armor += i.armor print("Enter damage: ", end=" ") damage = int(input()) for i in warrior + mech: if self.all_health > 0: for j in warrior + mech: if i.health < 0: continue damage -= self.all_armor if damage <= 0: print("Defeat") break else: self.all_armor = 0 init = Init() init.main()