2016-12-22 3 views
-2

Я пытаюсь сделать программу, которая бросает кости и проверяет, хочет ли пользователь продолжать каждый бросок, если нет, программа должна остановиться. Хотя, независимо от того, что вы вводите, программа вырывается из цикла. Может кто-нибудь объяснить, почему и дать мне несколько советов по созданию программы, которая проще и работает? СпасибоPython while loop breaks в каждом случае

import random 
sideNumber = int(input("Enter the number of sides in the die: ")) 
print("Dice numbers: ") 

while True: 
print(random.randint(0, sideNumber)) 
print("Do you want to continue?") 
response = input() 
if response == "n" or "no": 
    break 
+0

если ответ == 'no' или response == 'no' - это правильный способ сделать это. «no» всегда будет оцениваться как true. – hashcode55

ответ

0

Это потому, что заявление "no" по-прежнему верно.

Вы должны сделать:

if response == "n" or response == "no": 

или лучше:

if response in ["n", "no"] : 
0
if response == "n" or "no": 

делает ваш код не в состоянии. Это проверяет, истинно ли логическое значение "no", и оно всегда есть. замените его на:

if response == "n" or response == "no": 

 Смежные вопросы

  • Нет связанных вопросов^_^