完成while循环

时间:2021-06-02 18:34:42

标签: python python-3.x class inheritance methods

#Code 项目:射击游戏。

您正在创建一款射击游戏!

游戏有两种敌人,外星人和怪物。你用激光射击外星人,用枪射击怪物。每次命中都会将敌人的生命减少 1。给定的代码声明了一个通用的 Enemy 类,以及 Alien 和 Monster 类,以及它们相应的生命计数。它还为 Enemy 类定义了 hit() 方法。

您需要执行以下操作才能完成该程序:

1. 从 Enemy 类继承 Alien 和 Monster 类。

2. 完成不断从用户输入中选择武器并调用相应对象的 hit() 方法的 while 循环。

样本输入:

laser
laser
gun
exit

样本输出:

Alien has 4 lives
Alien has 3 lives 
Monster has 2 lives

我完成了第一部分,但需要帮助完成第二部分。

class Enemy:
  name = ""
  lives = 0
  def __init__(self, name, lives):
    self.name = name
    self.lives = lives

  def hit(self):
    self.lives -= 1
    if self.lives <= 0:
       print(self.name + ' killed')
    else:
        print(self.name + ' has '+ str(self.lives) + ' lives')

class Monster(Enemy):
  def __init__(self):
    super().__init__('Monster', 3)

class Alien(Enemy):
  def __init__(self):
    super().__init__('Alien', 5)


m = Monster()
a = Alien()

while True:
    x = input()
    if x == 'exit':
        break

1 个答案:

答案 0 :(得分:0)

在询问有关 stackoverflow 的任何问题时,请遵循社区指南。请查看此链接 How do I ask and answer homework questions?

看看这个代码:

while True:
    x = input()
    if x == 'exit':
        break
    elif x == 'laser':
        a.hit()
    elif x == 'gun':
        m.hit()