python - 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)
解决方案
在每次运行时,你重新分配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)
推荐阅读
- python - 响应 HTTP 200 并继续处理
- c++ - 遇到问题,包括 winbase.h
- javascript - 拉动刷新在页面加载或刷新后不起作用
- delphi - 如何跟踪/记录对我程序中每个函数的调用?
- php - 在 mysqli WHERE LIKE 语句中使用 $var
- javascript - 从 webpack 包中排除特定文件
- ios - 如何管理应该在父视图控制器中显示的控制器?
- loadrunner - REST API 调用在 Postman 中有效,但在 VuGen 中得到 403
- excel - 如果满足条件,将行从一个工作簿复制到另一个工作簿的最有效方法是什么?
- javascript - 如何在javascript中禁用ctrl+tab?