Python计算器不添加数字。为什么?

2024-04-25 01:27:46 发布

您现在位置: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)

Tags: trueinputif错误calc数字else计算器
1条回答
网友
1楼 · 发布于 2024-04-25 01:27:46

每次运行时,您都会将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)

相关问题 更多 >