Python单行生成器for循环改写为带缩进阶梯式for循环求助
错误原因分析
- 循环遍历对象错误:你代码里写的
for i in str中的str是Python内置的字符串类,不是你定义的存储字符串的变量mystr,这一步会直接抛出类型不可迭代的报错。 - 累加逻辑完全错误:
sum()函数要求传入可迭代对象才能求和,你每次循环只传入了单个转成整数的字符,不符合sum()的参数要求;同时你每次循环都重新给result赋值,完全没有做数值累加的操作。
正确改写代码
mystr = '12345' # 初始化求和结果为0 result = 0 for i in mystr: # 每次循环把当前字符转成整数后累加到结果上 result += int(i) print(result)
内容的提问来源于stack exchange,提问作者NurlanK
相关产品推荐
相关产品推荐

