Python 一个简单的计算器。我不想在用户键入1-4以外的数字后显示错误消息。它在一个while循环中
如果用户键入的数字5不在程序中,我想显示一个错误。请帮我解决这个问题。我也想试试这些 如果用户再次键入数字1、2、3或4,则显示错误 我还想显示一个错误,如果用户键入任何其他内容,例如字母Python 一个简单的计算器。我不想在用户键入1-4以外的数字后显示错误消息。它在一个while循环中,python,python-3.x,calculator,Python,Python 3.x,Calculator,如果用户键入的数字5不在程序中,我想显示一个错误。请帮我解决这个问题。我也想试试这些 如果用户再次键入数字1、2、3或4,则显示错误 我还想显示一个错误,如果用户键入任何其他内容,例如字母 def add(num1, num2): return num1 + num2 def sub(num1, num2): return num1 - num2 def mult(num1, num2): return num1 * num2
def add(num1, num2):
return num1 + num2
def sub(num1, num2):
return num1 - num2
def mult(num1, num2):
return num1 * num2
def div(num1, num2):
return num1 / num2
print("""
Choose Operation:
1. Addition
2. Subtraction
3. Division
4. Multiplication
"""
)
while True:
sct = int(input("Enter 1,2,3, or 4"))
number_a = int(input("Please enter first number"))
number_b = int(input("Please enter second number"))
if sct == 1:
print(number_a, "+", number_b, "=", add(number_a, number_b))
elif sct == 4:
print(number_a, "X", number_b, "=", mult(number_a, number_b))
elif sct == 3:
print(number_a, "/", number_b, div(number_a, number_b))
elif sct == 2:
print(number_a, "-", number_b, sub(number_a, number_b))
else:
print("error")
我会这样做:
correct_choices = ['1', '2', '3', '4']
user_choice = 'wrong'
prompt = """
Choose Operation:
1. Addition
2. Subtraction
3. Division
4. Multiplication
: """
while user_choice not in correct_choices :
user_choice = input (prompt)
如果他们键入5,我不确定您所说的错误是什么意思,因为它已经这样做了,但下面是您可以再次键入数字的方法: 在开始处定义一个列表:
ns_done = []
然后,每次有人选择一个号码时,将其添加到列表中:
sct=int(输入(“输入1、2、3或4”))
如果ns_done包含sct:
打印(“错误123”)
持续
然后,如果没有,请将号码添加到列表中:
ns_done.append(sct)
此代码是否还未达到您的要求else:print(“error”)
似乎合理。当我键入5时,不会显示任何错误,并且会重新开始添加过程。打印(“错误”)未显示。文章中代码的缩进似乎已关闭,我已尝试修复它。您能检查它是否与您在计算机上运行的内容相匹配吗?对不起,它不工作。@mkrieger1,由于OP的原始代码也是关闭的,这是不可复制的。但在帮助更正问题时,通常不建议触摸代码区域。谢谢您的帮助。我刚开始学习Python。但我很难理解这一点。