python - Python - 使用 if 语句,+ while 条件 | 打印整数,有数字时中断
问题描述
问题: 编写一个程序来接受整数输入,直到用户输入一个非整数。然后,程序打印输入数字的总和。
我的代码:
Total = 0
Count = 0
while True:
n = input ('Enter integers')
if (n.isdigit() == True):
print (n)
else:
break
n = int(n)
total = total + n
count = count + 1
sum = sum(total)
我可以运行整数,但是在输入数字时它无法中断......有人知道为什么吗?我也期望 sum 函数可以工作,但它不能将我输入的整数加在一起。
谢谢!
解决方案
通过将输入过程委托给迭代函数,您将能够直接使用 sum() 函数来获得总数:
def inputIntegers():
while True:
result = input("Enter integers: ")
if not result.isdigit(): break
yield int(result)
print("total:",sum(inputIntegers()))
Enter integers: 3
Enter integers: 25
Enter integers: 6
Enter integers: 4
Enter integers:
total: 38
推荐阅读
- mariadb - 我们如何在一个命令中删除 MariaDB 中的多个列
- laravel - Laravel FormRequest 验证规则
- visual-studio - 意外的编译器版本,预期为 clang 8.0 或更高版本
- python - 如何按特定键值对 pytorch 张量进行排序?
- node.js - Discord.js 使用机器人向特定频道发送消息
- postgresql - PgBouncer select() 的客户端连接过多
- sap - SAP Cloud SDK JS 从 Enterprise Messaging Queue 接收空数据
- highcharts - 从最小值开始 x 轴
- react-native - 当位置为绝对时,onPress 事件在动画视图中不起作用
- autodesk-forge - Autodesk Forge 中的 BIM 360 扩展