python基础教程100例题: 29&30
29、题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
30、题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
今天这两个题可以放在一起,首先可以总体进行分析。首先要了解一个数字是如何被拆分的,也就是如何找到一个数字的每一个位数。我们直接从程序开始讲,以五位数为例。个位:数字 s 除以 10 的余数,然后接下来的每一步该数都除以 10 ,保留商,然后再 除以 10 的余数就分别是十位,百位,千位,最后到万位的时候,商就是万位,不需要再 除以 10 求余数了。
29题:
s = int(input('不多于五位的正整数:'))
a = s % 10
b = int(s / 10) % 10
c = int(s / 100) % 10
d = int(s / 1000) % 10
e = int(s / 10000)
if e != 0:
print('5',a,b,c,d,e,sep='')
elif d != 0:
print('4',a,b,c,d,sep='')
elif c != 0:
print('3',a,b,c,sep='')
elif b != 0:
print('2',a,b,sep='')
else:
print('1,',a)
s2 = int(input('不多于五位的正整数:'))
s2_m = 0
s2_n = s2
while s2_n != 0:
s2_m = (s2_m * 10) + (s2_n % 10)
s2_n = int(s2_n / 10)
print(s2_m)
其实这两个代码表示的是同一个意思。都是把每一位分解出来,依次比较。第一个程序更直观,但是代码更复杂。第二个程序代码有一点难理解,但整体的思路是一样的,也更简洁。
30题:
s = int(input('五位正整数:'))
a = s % 10
b = int(s / 10) % 10
c = int(s / 100) % 10
d = int(s / 1000) % 10
e = int(s / 10000)
if a == e and b == d:
print('是回文数')
else:
print('不是回文数')
num = int(input('请输入一个数,判断是否是回文数:'))
num_p = 0
num_t = num
while num_t != 0:
num_p = int(num_p * 10) + int(num_t % 10)
num_t = int(num_t / 10)
if num == num_p:
print(num, '是一个回文数')
else:
print(num, '不是一个回文数')
print(num, num_p)
相关知识
while循环嵌套例题
Python机器学习基础教程
插花艺术基础教程
中国画基础教程——写意花鸟鱼虫【全本
python爱心表白 每天都是浪漫七夕!
郁金香插花技巧基础教程
【Python】基础
【Python绘画】花朵
求100
初学者必备的实用插花基础教程知识
网址: python基础教程100例题: 29&30 https://www.huajiangbk.com/newsview1159283.html
上一篇: 关于Android官方开发教程中 |
下一篇: Tensorflow:Tenso |
推荐分享

- 1君子兰什么品种最名贵 十大名 4012
- 2世界上最名贵的10种兰花图片 3364
- 3花圈挽联怎么写? 3286
- 4迷信说家里不能放假花 家里摆 1878
- 5香山红叶什么时候红 1493
- 6花的意思,花的解释,花的拼音 1210
- 7教师节送什么花最合适 1167
- 8勿忘我花图片 1103
- 9橄榄枝的象征意义 1093
- 10洛阳的市花 1039