import random
lives = 3
while lives > 0:
print("If the number is divisible by 3, type FIZZ (all caps)")
print("If the number is divisible by 5, type BUZZ (all caps)")
print("If the number is divisible by 3 and 5, type FIZZ BUZZ (all caps)")
print("If the number is none of the above, type the number")
print("You have three lives and then the game is over")
print("Try and beat me!")
for number in range(1,101):
if number % 3 == 0 and number % 5 == 0:
correct_answer = "FIZZ BUZZ"
elif number % 3 == 0:
correct_answer = "FIZZ"
elif number % 5 == 0:
correct_answer = "BUZZ"
else:
correct_answer = number
first_go = random.randint(0,1)
if first_go == 0:
computer_go = True
else:
computer_go = False
if computer_go == True:
print("CPU:", correct_answer)
computer_go == False
elif computer_go == False:
answer = input("Your go:")
if answer == correct_answer:
computer_go = True
else:
print("Wrong answer!")
lives - 1
Я попытался использовать оператор if 'if answer == correct_answer', но, похоже, он не работает для значений, которые не являются ни FIZZ, BUZZ, ни FIZZ BUZZ. У меня также возникают проблемы с циклом while; печатается сообщение «неправильный ответ», однако цикл while не заканчивается после трех неправильных попыток, как это должно быть с жизнями - 1, в результате чего жизни становятся равными 0 и цикл while завершается.
if input_variable.isdigit() and ...
илиif input_varible.isalpha() and...
. Хотя я должен отметить, я не вижу нигде в вашей программе, где вы получаете пользовательский ввод. - person Christian Dean   schedule 26.09.2016