我是编码的新手,决定制作一个基本的计算器。在我完成并且它正在工作之后,我决定在输入错误的变量时生成文本。我使用了这段代码,但无论我输入什么,它都会运行。任何修复都将不胜感激!
while user_input != ("1","2","3","4"):
print("Please enter 1, 2, 3 or 4!")
user_input = input("Choice:")
这是完整的代码:
import time
def Add(x, y):
return x + y # x is added to y
def Sub(x, y):
return x - y # x is subtracted by y
def Multiply(x, y):
return x * y # x is multiplied by y
def Divide(x, y):
return x / y # x is divided by y
print("Select a function:\n")
print("1.Add\n")
print("2.Sub\n")
print("3.Multiply\n")
print("4.Divide\n")
user_input = input("Choice:") # user chooses function
while user_input != ("1","2","3","4"):
print("Please enter 1, 2, 3 or 4!")
user_input = input("Choice:")
num1 = float(input("Enter first number:")) # user unputs number
num2 = float(input("Enter second number:")) # user inputs second number
if user_input == '1':
print(num1, "+", num2, "=", Add(num1,num2))
if user_input == '2':
print(num1, "-", num2, "=", Sub(num1,num2))
if user_input == '3':
print(num1, "*", num2, "=", Multiply(num1,num2))
if user_input == '4':
print(num1, "/", num2, "=", Divide(num1,num2))
time.sleep(5) # sleeps for 5 seconds before ending
答案 0 :(得分:0)
因此,您尝试将单个值与列表进行比较,而您真正想要的是检查user_input是否不在预期值列表中。尝试这样做(注意不在),
while user_input not in ("1","2","3","4"):
print("Please enter 1, 2, 3 or 4!")
user_input = input("Choice:")