python:...“无”类型,预期整数

时间:2012-11-16 09:14:24

标签: python compiler-errors integer

我一直关注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,更不用说编码了。

2 个答案:

答案 0 :(得分:3)

您正在打印该值但未返回该值。不知道你的主叫代码在做什么,但它显然希望你做return L[calc1]

答案 1 :(得分:0)

函数middle返回None(因为return本身就是return None)。

您正在使用返回的值执行某些操作,例如int(middle(L))None无法执行此操作。

请注意,您不必在函数末尾写return;它将自动返回None