当用户输入@符号时,我很难弄清楚如何使程序“中断”。
我必须创建一个简单的计算器,用户在其中输入数字,运算符和第二个数字。
我已经在运行。
我只是不知道一旦要求用户输入信息时,一旦用户输入了“ @”符号,我该如何停止程序。
num1 = float(input("Enter First Number: "))
operator = input("Enter Operator: ")
num2 = float(input("Enter Second Number: "))
while True:
if num1 == float(["@"]):
break
if operator == "+":
print("Result:" ,num1 ,operator, num2, "=" , num1+num2 )
elif operator == "-":
print("Result: " ,num1 ,operator, num2, "=" ,num1-num2)
elif operator == "/":
if num2 == 0 :
print("Second Number Cannot Be A ZERO")
else: print("Result: " ,num1 ,operator, num2, "=" ,num1/num2)
elif operator =="**":
print("Result: ", num1, operator, num2, "=", num1 ** num2)
elif operator == "%":
if num2 == 0 :
print("Second Number Cannot Be A ZERO")
print("Result: " ,num1 ,operator, num2, "=" ,num1%num2)
elif operator == "*":
print("Result: " ,num1 ,operator, num2, "=" ,num1*num2)
else:
print("Invaid Operator")
print("Thank you for playing this Simple Calculator designed by Joss")
答案 0 :(得分:0)
通过此操作,我将进行一些调整,而不是使用True,而是使用一个等于True的变量,以便您可以在输入错误时将其更改为False并中断循环。
kill = True
while kill:
if operator = '\@'
kill = False
elif operator = '+':
add....
如果您不仅要查找@字符和其他字符,还可以使所有函数运算符组成数组,例如operand = ['+','\-','/','**']
等,并使第一个if
沿>
kill = True
while kill:
if operator not in operand:
kill = False
elif operator = '+':
add....
答案 1 :(得分:0)
我修改代码的一种方式是,它会检查输入的第一个数字是否为数字。如果是这样,就没有问题。如果不是,它将转换为字符串以供日后检查。
num1 = input("Enter First Number: ")
if num1 != "@":
num1 = float(num1)
else:
num1 = str(num1)
那样。那么您稍后只需检查“ @”符号即可:
while True:
if num1 == "@":
break
最后一件事:您应该将所有代码移至while循环中,因此在进行计算后,它将再次询问(是否是意图),因为现在它仅循环打印答案。