1

我对 Python 很陌生,但我想编写一个计算器。它适用于 sqrt 函数。每次我尝试计算一个数字的平方根时,我都会收到错误消息。我知道编写更好的计算器可能有上千种方法,但我真的很想知道我做错了什么以及如何解决这个问题。这是我的代码:

import math

no1 = float(input('Insert a number: '))
operator = input("Operator: ").upper()
result = no1

while operator != "=":
    if (operator) == "-":
        no2 = float(input('Insert next number: '))
        result = result - no2
        operator = input("Operator: ").upper()
    elif (operator) == "/":
        no2 = float(input('Insert next number: '))
        result = result / no2
        operator = input("Operator: ").upper()
    elif (operator) == "+":
        no2 = float(input('Insert next number: '))
        result = result + no2
        operator = input("Operator: ").upper()
    elif (operator) == "*":
        no2 = float(input('Insert next number: '))
        result = result * no2
        operator = input("Operator: ").upper()
    elif (operator) == "^":
        no2 = float(input('Insert next number: '))
        result = math.pow(result,no2)
        operator = input("Operator: ").upper()
    elif (operator) == "sqrt":
        result = math.sqrt(no1)
    else:
        print('Error!')
        operator = "="

print(result)

非常感谢!

4

2 回答 2

2

您将运算符转换为大写,但 elif 具有小写“sqrt”。

将其更改为

elif (operator) == "SQRT":
    result = math.sqrt(no1)
于 2018-11-08T13:51:36.570 回答
1

您正在将输入转换为大写,然后测试'sqrt'. 'SQRT'改为测试。您还需要删除while循环,否则它将永远不会退出。

于 2018-11-08T13:51:04.057 回答