试图在Python中构建一个简单的计算器无法在数学符号之间进行迭代

时间:2018-12-18 09:11:11

标签: python calculator

# take operand    
print('Select operator') 
operator = str(input('Choose between + or * or - or /'))
if operator in ("+", "*", "-", "/"):
pass
else:
print ('error')
operator = str(input('Choose between + or * or - or /'))

我试图让它检查输入的符号是否实际上是这些“ +”,“ *”,“-”或“ /”之一

例如,如果他们输入字母,我希望它返回只应使用一个符号。它适用于许多省略号,但也可以打印四次该符号不正确的内容。我想解决这个问题。

1 个答案:

答案 0 :(得分:0)

我认为Georgy是正确的,这与他们上面链接的答案非常相似。但是,您可能遇到其他一些问题,这可能会使您感到困惑。我认为您正在寻找的东西与此类似:

# take operand    
print('Select operator')
while True:
  operator = str(input('Choose between + or * or - or /'))
  if operator in ("+", "*", "-", "/"):
    break
  else:
    print('error')
    continue

print(operator)

您想使用while True是因为您希望重复执行直到达到结束条件。您也可以在while循环中设置变量并更改值,而不用执行breakcontinue。但是,在这种情况下,如果您遇到结束条件(用户输入了有效的输入),那么您想从while循环中退出break。如果不是,则要continue。我还建议在stackoverflow上提出以下问题和答案:When to use "while" or "for" in Python