带有 math.sqrt 函数的 Python 计算器

标签 python calculator math.sqrt

我对 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)

非常感谢!

最佳答案

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

更改为

elif (operator) == "SQRT":
    result = math.sqrt(no1)

关于带有 math.sqrt 函数的 Python 计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53209052/

相关文章:

python - 在python中下载rss内容

python - 理解 Python 3 列出了每个元素的打印 None 值

c++ - 为什么我的计算器不打印任何东西?

java - 在 java 中使用命令行参数时未获得正确的输出

python - 值错误 : Math domain error (for a 2nd grade equation function)

python - (Python/Pyramid) 拥有标准列表/表单编辑器的更好方法?

python - JSONDecodeError 读取大型 JSON 文件

android - 如何从 Android 计算器中检索值

c++ - 当一个功能完成另一个功能打开时我该怎么办?

java - 三角测试仪