首页 > 解决方案 > Python计算器不添加数字。为什么?

问题描述

我用python制作了这个计算器,它应该添加我给它的任何值并将结果存储在一个变量中。然后,如果我输入的不是数字,它应该打印结果....它不会给出任何错误,但它会将结果打印为 0。为什么即使我清楚地添加了数字,也没有添加它们。

while True:
    inpt = input("> ")
    calc = 0
    if inpt == "1":
        calc += 1
    elif inpt == "2":
        calc += 2
    elif inpt == "3":
        calc += 3
    elif inpt == "4":
        calc += 4
    elif inpt == "5":
        calc += 5
    elif inpt == "6":
        calc += 6
    elif inpt == "7":
        calc += 7
    elif inpt == "8":
        calc += 8
    elif inpt == "9":
        calc += 9
    else:
        break

print(calc)

标签: pythonpython-3.xmathcalculatorcalculation

解决方案


在每次运行时,你重新分配0给 calc,所以你重置上一次运行,把它放在外面

calc = 0
while True:
    inpt = input("> ")
    # ...

您也可以只转换字符串int以避免这种 if/else,如果它是一个数字

calc = 0
while True:
    inpt = input("> ")
    if inpt not in "123456789":
        break
    calc += int(inpt)

推荐阅读