- 4
Помогите решить задачу Игра-Шутер
Не понимаю в чём ошибка Мой код 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: def __init__(self): super().__init__('Monster', 3) class Alien: def __init__(self): super().__init__('Alien', 5) m = Monster() a = Alien() while True: x = input() if x == 'exit': break
15 Antworten
+ 3
if x=='a':
a.hit()
elif x=='m':
m.hit()
elif x =='exit':
break
else:
continue
+ 1
Ошибка в том что, твоя итерация будет продолжаться вечно, пока не введешь выход.
и ещё у тебя нет кода где чужой дрался бы с монстром
0
elif x == 'a' : a.hit()
elif x == 'm' : m.hit()
0
Теперь ошибка-нет вывода.
0
Попробуй обновленный код
0
if x == 'a' : a.hit()
elif x == 'm' : m.hit()
elif x =='exit':
break
else:
continue
Ошибка также нет вывода
0
Блин ты что с дуба рухнула???
Почему элсы и элифы внутри ИФА???
Они должны быть на одном уровне
0
Хотябы просто копи пастить то умеешь? Скопируй мой текст с кодом и вставь в свой
0
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): #base class 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
if x=='a':
a.hit()
elif x=='m':
m.hit()
elif x =='exit':
break
else:
continue
0
Все на одном уровне.
0
Ошибка та же!
0
В питоне один отступ должен быть на один таб или 4 пробела. Что-то мне подсказывает что у тебя отступы кривые. И... убери второй иф
так как весь код после вайла должен быть на один отступ, то после иф, элиф и элсе должны быть два отступа
0
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): #base class 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
elif x=='a':
a.hit()
elif x=='m':
m.hit()
elif x =='exit':
break
else:
continue
0
После вайл один отступ, после елиф и елсе два. Что то не так...