2021-01-31 第29题 任给一个正整数判断位数,并逆序输出

原始题目

第29题

现在将题目升级一下,任给一个正整数,判断位数,并逆序输出
方法1思路分析:输入一个正整数,利用循环作地板除,直到商为0,并记录除了多少次,则可以判断这个正整数有几位。逆序输出可以求%10的余数,各次余数分别为个位,十位,百位...用列表记录,最后打印

  • 方法1源代码:
#方法1
x = eval(input("输入一个正整数:\n")) #此处省略是否为正整数的判断
print(x,end='')
#用n记录数字x的位数,用lst记录%10的余数
n = 0
lst = []
while x != 0:
    lst.append(x % 10)
    x //= 10
    n += 1

print("是{}位数".format(n))
print(lst)
  • 运行结果:
输入一个正整数:
102030
102030是6位数
[0, 3, 0, 2, 0, 1]

方法2思路分析:用数据类型转化的方法实现位数转化和逆序输出

  • 方法2源代码:
#方法2
x = input("输入一个正整数:\n") #此处省略是否为正整数的判断

n = len(x)
s = list(reversed(x))

print("{}是{}位数".format(x,n))
print(s)
  • 运行结果:
输入一个正整数:
102030
102030是6位数
['0', '3', '0', '2', '0', '1']
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容