为什么总是有个none输出呢?
def num(n):while n:
if n >= 2:
print(n % 2)
else:
print(n)
break
n = n // 2
print(num(12))
因为最后要打印num(12)这个函数,但是这个没有返回值,所以打印None 因为你在函数里面已经有了print,那么在最后一行你还去print(num(12))那么自然是输出none(空气了),直接num(12)就行
因为你定义的 num 函数没有设置 return 返回值,Python 会默认将返回值设置为 None
则当你调用 num(12) 会返回你设置的返回值,而你的返回值是None ,所以最后一个 print 函数打印了一个 None
这一句
print(num(12))
改为
num(12)
、 就不会有 None 了。
函数 num() 本来就没有返回值,你却要打印函数值,结果自然就只能打印出一个None 了。 函数没有返回值return ,修改代码如下
def num(n):
while n:
if n >= 2:
n % 2
else:
return n
break
n = n // 2
print(num(2)) 感觉里面加个while没啥用啊
直接这样不就行了
def num(n):
if n<2:return None
return (n//2,n%2)
#我看到会求余 应该是判断奇偶 所以返回了一个元组
页:
[1]