我有这个循环的问题。我试图在用户写下"&;&;"后打破循环。或";n"但它没有做到。
user_input = ""
issue_num = 0
ISSUES = ["El motor o las cuchillas no arrancan", "La comida esta picada de manera desigual",
"La comida esta picada muy fina o aguada", "Los alimentos se acumulan en la tapa",
"La base del motor no se adhiere a la mesa", 'Tiene un mensaje de "ERR"',
"Tiene una luz roja parapadeante"]
anoun_of_issues = len(ISSUES)
while user_input != "salir":
print(ISSUES[issue_num])
user_input = input('Pulsse "S" si es su inconveniente, pulse "n" si no lo es y escriba "salir" para salir... ')
if user_input != "s" or user_input != "n":
while user_input != "s" or user_input != "n":
user_input = input('Pulsse "S" si es su inconveniente, pulse "n" si no lo es y escriba "salir" para salir... ')
if user_input == "s":
if issue_num == 0:
pass
在内部循环中使用的条件是user_input != "s" or user_input != "n"
。这个条件总是成立的,因为你使用的是or
。它不成立的唯一可能是user_input
同时等于"s"
和"n"
。因为这对于普通字符串来说是不可能的,所以你会一直循环下去。
当输入"s"
或"n"
时,使用user_input != "s" and user_input != "n"
终止循环。