答案 0 :(得分:0)
功能diff
没有返回print diff(z)
打印None
的原因。它应该是这样的
def diff(n):
x = n**(1.0/2)
y = (n-2)**(1.0/2)
differ = x-y
return differ
z = 2
while z >= 0 and z <= 100:
print diff(z)
z = z+1
答案 1 :(得分:0)
正如评论正确指出的那样,diff
没有明确的返回值。这不会太糟糕,因为diff
具有打印所需数字的所需副作用。但是,由于您要求python在while循环中打印diff
的结果,因此每次要求None
提供返回值时,您将获得diff
。您可以通过更改差异来解决这个问题而不是有副作用,而是返回值(只需将print
更改为return
)或调用函数以获得副作用,但不要尝试打印其返回值 - value(摆脱while循环中的print
语句。)
希望这会有所帮助