我一直关注tutorials on python并遇到了一个问题:
def middle(L):
calc1 = (len(L))//2
print(L[calc1])
return
并且评分者/编译器给了我
“跑中间([8,0,100,12,1])......错误:中间([8,0,100,12, 1])错误类型“无”类型,预期整数“
我要做的是print()一个位于列表中间的元素。虽然确实输出了 100 。 解决方案必须如此简单,但我刚刚开始学习python,更不用说编码了。
答案 0 :(得分:3)
您正在打印该值但未返回该值。不知道你的主叫代码在做什么,但它显然希望你做return L[calc1]
。
答案 1 :(得分:0)
函数middle
返回None
(因为return
本身就是return None
)。
您正在使用返回的值执行某些操作,例如int(middle(L))
,None
无法执行此操作。
请注意,您不必在函数末尾写return
;它将自动返回None
。