问题:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
方法1:利用字符串切片的方式将字符串反转,再将其转换为整数。
#!/usr/bin/python
#coding:utf-8
#author:菜就多练呀
# 获取用户输入的整数
num = int(input("请输入一个不多于5位的正整数:"))
# 判断位数
if num < 10:
print("位数:", len(str(num)))
else:
print("位数:", len(str(num)))
# 逆序打印各位数字
reversed_num = int(str(num)[::-1])
print("逆序后的数字:", reversed_num)
方法2:通过循环遍历数字的每一位,从后往前逆序打印出来。
#!/usr/bin/python
#coding:utf-8
#author:菜就多练呀
# 获取用户输入的整数
num = input("请输入一个不多于5位的正整数:")
length = len(num)
print("它是一个", length, "位数")
print("逆序打印出各位数字:", end="")
for i in range(length):
print(num[length-1-i], end="")
方法3:使用整数除法和模运算将数字的每一位逆序打印出来。
#!/usr/bin/python
#coding:utf-8
#author:菜就多练呀
# 获取用户输入的整数
num = int(input("请输入一个不多于5位的正整数:"))
# 计算位数
length = 0
temp = num
while temp:
length += 1
temp //= 10
print("它是一个", length, "位数")
# 逆序打印数字
print("逆序打印出各位数字:", end="")
while num:
digit = num % 10
print(digit, end="")
num //= 10
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至2705686032@qq.com 举报,一经查实,本站将立刻删除。原文转载: 原文出处: