|
发表于 2022-2-9 12:03:11
|
显示全部楼层
本楼为最佳答案
你的 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)
复制代码
|
评分
-
查看全部评分
|