【问题标题】:Python calculator not adding numbers. WHY?Python 计算器不加数字。为什么?
【发布时间】:2020-05-02 10:36:24
【问题描述】:

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

【问题讨论】:

  • 因为在无限 while 循环的每次迭代中,您都设置了 calc=0。只需将calc=0 语句放在循环之外。

标签: python python-3.x math calculator calculation


【解决方案1】:

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2022-12-12
  • 2022-11-26
  • 2014-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-29
相关资源
最近更新 更多