python - 使用 for 循环通过 try 和 except 遍历数字列表
问题描述
我想编写一个重复读取数字直到用户输入“完成”的程序。输入“完成”后,打印出总数,使用 for 循环计数。这是我搜索后找到的程序:
c=0 #c=count t=total
t=0
while True:
x=input('enter no.')
try:
x=float(x)
c=c+1
t=t+x
except:
if x=='done':
break
print(c)
print(t)
关于这个程序的困惑是为什么我们必须将 x 转换为浮点类型,以及我们想要迭代用户给出的列表的条件在哪里,比如 for i in x 等等。
解决方案
由于您无法将字符串转换为浮点数,因此会引发错误
被它检查的 except 块捕获x=="done"
正确的方法:
迭代用户给出的数字
a=[]
while True:
x=input("enter no:")
if(x=="done"):
break
elif(x.isnumeric()):
a.append(x)
else:
print("wrong")
print(a)
推荐阅读
- docker - 如何将货物(或任何可执行文件)添加到 Dockerfile 中的路径以进行后续构建步骤?
- javascript - React App - 用户点击后通过Express获取eBay OAuth访问码
- jenkins - WebdriverIO 版本7,使用@cucumber/cucumber v7,使用junit v7,测试计数不更新
- webpack-bundle-analyzer - 减少 lodash 的 bundle 大小
- python - 多次运行,对CNN上图像分类的准确性有影响吗?
- android - Bazel 主机(x86 linux)linkopts 传播到目标(android)
- javascript - 如何使用arduino自动更新socket.io?
- django - serialize=False 在 Django 模型的迁移中意味着什么?
- powershell - PowerShell 哈希表到 CSV
- swift - 如何使用 willSet 更新或更正 Swift 中的某些值?