|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
result = []
def get_digits(n):
if n > 0:
result.insert(0, n%10)
get_digits(n//10)
get_digits(12345)
print(result)
result 列表是一个全局变量,在函数 get_digits()中被引用,然后被改变值,result.insert(0,n%10) 不算是改变了result的值了吗,为什么没有报错。
另外。如果将脚本改成下面的样子。为什么会返回一个None。
result = []
def get_digits(n):
if n > 0:
result.insert(0, n%10)
get_digits(n//10)
else:
return result
i = get_digits(12345)
print (i)
求解答
- result = []
- def get_digits(n):
- if n > 0:
- result.insert(0, n%10)
- get_digits(n//10)
- return result
- else:
- return result
- i = get_digits(12345)
- print (i)
复制代码
1.先回答lZ第儿个问题,改进后的程序之所以会返回None,是因为当n>0的时候没有返回值,只要在n>0的时候返回一个return result就会返回正确的值
2.第一个问题其实result不算是一个变量,所以在函数中是可以使用的
|
|