如何使符号收录机变成浮动的

时间:2019-05-09 18:20:19

标签: python-3.x character symbols break

当用户输入@符号时,我很难弄清楚如何使程序“中断”。

我必须创建一个简单的计算器,用户在其中输入数字,运算符和第二个数字。

我已经在运行。

我只是不知道一旦要求用户输入信息时,一旦用户输入了“ @”符号,我该如何停止程序。


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")

2 个答案:

答案 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循环中,因此在进行计算后,它将再次询问(是否是意图),因为现在它仅循环打印答案。