2017-08-14 42 views
0

我是新来编码,并决定做一个基本的计算器。在我完成它的工作之后,我决定在输入错误的变量时创建文本。我使用这个代码,但它运行,不管我输入什么。任何修复将不胜感激!输入错误时的基本计算器错误消息应该出现,但不管输入如何显示

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

所以你想一个值与一个列表,你真正想要的是检查是否USER_INPUT不是预期值的列表中。尝试这样做(注意不在),

while user_input not in ("1","2","3","4"): 
    print("Please enter 1, 2, 3 or 4!") 
    user_input = input("Choice:") 
相关问题