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


# 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 /'))

我正在尝试使其检查输入的符号是否实际上是其中一个" ","*"," - "或"/"

例如,如果他们输入一封信,我希望它归还他们应该只有一个符号。它可以与许多Elif一起使用,但也打印了四次符号是不正确的。我想解决这个问题。

我认为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。但是,在这种情况下,如果您遇到结束条件(用户已输入有效输入),则需要将break从WHILE循环中出现。如果没有,您要continue。我还会在Stackoverflow上推荐此问题并回答:何时使用" while"或" for"在Python

最新更新