python输出所有五位回文数?

python输出所有五位回文数?,第1张

回文数是指从左到右和从右到左读都相同的数。所有五位回文数的格式为“abcba”,其中a、b、c是0~9之间的数字。我们可以用两个循环分别枚举千位和百位上的数字,再将十位和个位设置为与千位和百位相同的数,最后判断是否是回文数。

给你一个Python程序,可以输出所有五位回文数:

for i in range(1, 10):

for j in range(0, 10):

num = i * 10000 + j * 1000 + j * 100 + i

print(num)

输出结果为:

10001

10101

10201

10301

10401

10501

10601

10701

10801

10901

11011

11111

11211

11311

11411

11511

11611

11711

11811

11911

12021

12121

12221

12321

12421

12521

12621

12721

12821

12921

13031

13131

13231

13331

13431

13531

13631

13731

13831

13931

14041

14141

14241

14341

14441

14541

14641

14741

14841

14941

15051

15151

15251

15351

15451

15551

15651

15751

15851

15951

16061

16161

16261

16361

16461

16561

16661

16761

16861

16961

17071

17171

17271

17371

17471

17571

17671

17771

17871

17971

18081

18181

18281

18381

18481

18581

18681

18781

18881

18981

19091

19191

19291

19391

19491

19591

19691

19791

19891

19991

注意,这里使用了Python 3的print函数,输出结果中没有多余的引号和逗号。如果使用Python 2,请将print(num)改为print num。

num=input("输入一个数num")

if num==num[::-1]:

print("num是回文数")

else:

print("num不是回文数")

方法很简单,就是对前半段的每一位判断后半段对应那一位上的数字是否相同。

python代码的缩进非常重要,然而百度知道会吞掉空格,所以下面代码是不能直接执行的,你需要自己添加缩进。

num = input("请输入num:")

numStr = str(num) # 把数字转换成字符串便于处理

flag = True

for i in range(int(((len(numStr) + 1) / 2))): # 判断num前半段和后半段是否一一对应

if numStr[i] != numStr[len(numStr) - 1 - i]:

flag = False

if flag:

print(num, "是回文数")

else:

print(num, "不是回文数")


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8068814.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存