你不需要:print(nextDivisible(n))我认为你被None打印出来是因为你的函数没有返回任何东西。打印函数的返回也是多余的,因为您在循环内打印数字。所有你需要的是:nextDivisible(n)它将打印可整除的数字。如果您nextDivisible()在其他函数中使用,根据您使用它的方式的性质,可能需要 return 语句可能毫无意义。出于所有意图和目的,这应该可以正常工作。和python 3.x:x = [x for x in range(1000)]def nextDivisible(x, mod=17): c = 0 for n in x: if n % mod == 0: print(n) c += 1 else: #nextDivisible(n+1) pass print('{} numbers divisible by {} in {}'.format(c, mod, len(x)))nextDivisible(x)预期输出:59 total numbers divisible by 17 in 1000