首页 > 解决方案 > 如何将符号字符变成浮点数

问题描述

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

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

我已经在运行了。

我只是想不通当用户被要求输入信息时,一旦用户输入“@”符号,我应该如何让我的程序停止。


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

标签: python-3.xcharactersymbolsbreak

解决方案


我修改您的代码的一种方法是,一旦输入第一个数字,它就会检查它是否是数字。如果是,没问题。如果不是,则将其转换为稍后检查的字符串。

    num1 = input("Enter First Number: ")
if num1 != "@":
    num1 = float(num1)
else:
    num1 = str(num1)

像那样。然后您稍后只需检查“@”符号:

while True:
  if num1 == "@":
    break

最后一件事:您应该将所有代码移动到 while 循环中,因此在它进行计算后它会再次询问(如果这是意图),因为现在它只循环打印答案。


推荐阅读