4399king 发表于 2020-8-1 16:54:56

作业错了

def sum(x):
    result=0
    for each in x:
      if (type(each)==int)or(type(each==float)):
            result+=each
      else:
            continue
    return result


为啥报错

zltzlt 发表于 2020-8-1 16:55:12

报的什么错?

永恒的蓝色梦想 发表于 2020-8-1 16:57:32

就邪门

陈尚涵 发表于 2020-8-1 16:58:32

发全代码看看,这个循环没有错

Twilight6 发表于 2020-8-1 16:59:33

本帖最后由 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 类型的数据才能进行计算哈,否则也会导致报错

陈尚涵 发表于 2020-8-1 17:01:58

Twilight6 发表于 2020-8-1 16:59
你可能将代码直接复制到 IDLE 去运行了吧?代码是没问题的,可以正常执行

IDLE 不支持多条语句的执行 ...

这也不太可能啊{:10_277:}应该是调用方法错了吧

赫尔曼·迈耶 发表于 2020-8-1 17:12:05

04行:(type(each==float))括号位置打错了

赫尔曼·迈耶 发表于 2020-8-1 17:12:44

(type(each)==float)
这样才对

_2_ 发表于 2020-8-1 17:20:37

本帖最后由 _2_ 于 2020-8-1 17:22 编辑

_

Twilight6 发表于 2020-8-1 17:20:59

赫尔曼·迈耶 发表于 2020-8-1 17:12
(type(each)==float)
这样才对



{:10_250:} 正解,真的细节

xiaosi4081 发表于 2020-8-1 17:22:31

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)呢?

_2_ 发表于 2020-8-1 17:23:01

Twilight6 发表于 2020-8-1 17:20
正解,真的细节

……对眼睛要求严格{:10_250:}
页: [1]
查看完整版本: 作业错了