运行不起来
你 while 循环最后结尾少了一句:n -= 1
所以就会无限死循环,因为 n 会一直是 46 不变,所以要再写这一句!
给个好评,兄弟!{:10_254:} 这是个死循环啊,怎么返回值,而且变量b是干什么的,n是不是得-1,看不懂程序的目的
你的 while 循环条件是 n > 0 但是在循环中你没有对 n 进行改变,那么只要进入循环,就不可能退出循环了
另外 sort 列表方法是在原列表上进行排序,没有返回值,Python 默认返回 None ,而你设置 return 返回值为_.sort() 会导致返回 None
参考代码:
def get_digits(n):
_ = []
while n > 0:
a = n % 10
n = n // 10
_.append(a)
_.sort()
return _
result = get_digits(46)
print(result)
另外,本题是要求我们将各位数上的值依次存入列表中,那就不需要进行排序,直接取反后返回即可:
参考代码:
def get_digits(n):
_ = []
while n > 0:
a = n % 10
n = n // 10
_.append(a)
_.reverse()
return _
result = get_digits(46)
print(result)
Twilight6 发表于 2022-2-9 12:03
你的 while 循环条件是 n > 0 但是在循环中你没有对 n 进行改变,那么只要进入循环,就不可能退出循环 ...
索德斯呢。淦谢 {:5_103:}
页:
[1]