作业错了
def sum(x):result=0
for each in x:
if (type(each)==int)or(type(each==float)):
result+=each
else:
continue
return result
为啥报错 报的什么错? 就邪门 发全代码看看,这个循环没有错 本帖最后由 Twilight6 于 2020-8-1 17:02 编辑
你可能将代码直接复制到 IDLE 去运行了吧?代码是没问题的,可以正常执行
IDLE 不支持多条语句的执行,你可以 CTRL+N 新建脚本文件,将代码复制到编辑器中 F5 运行脚本即可
def sum(x):
result=0
for each in x:
if (type(each)==int)or(type(each==float)):
result+=each
else:
continue
return result
print(sum())
注意:这里的参数要填可迭代对象哈,否则 for 循环无法遍历,而且 for 循环中元素都要为 number 类型的数据才能进行计算哈,否则也会导致报错
Twilight6 发表于 2020-8-1 16:59
你可能将代码直接复制到 IDLE 去运行了吧?代码是没问题的,可以正常执行
IDLE 不支持多条语句的执行 ...
这也不太可能啊{:10_277:}应该是调用方法错了吧 04行:(type(each==float))括号位置打错了 (type(each)==float)
这样才对 本帖最后由 _2_ 于 2020-8-1 17:22 编辑
_ 赫尔曼·迈耶 发表于 2020-8-1 17:12
(type(each)==float)
这样才对
{:10_250:} 正解,真的细节 def sum(x):
result=0
for each in x:
if type(each)==int or type(each)==float:
result+=each
return result
else可以不用写,if那里也不用加括号,还有怎么是 type(each==float)呢? Twilight6 发表于 2020-8-1 17:20
正解,真的细节
……对眼睛要求严格{:10_250:}
页:
[1]