今天开始减肥了吗? 2021-11-13 02:21 采纳率: 72.5%
浏览 361
已结题

数字121从左往右读与从右往左读是一样的,这种数称为回文数。请使用for循环以及切片方法设计一个程序, 找出>=0并且<=n的全部回文数。

数字121从左往右读与从右往左读是一样的,这种数称为回文数。请使用for循环以及切片方法设计一个程序, 找出>=0并且<=n的全部回文数。

输入格式:
n

输出格式:
多行输出,一行一个数
输入格式:
n

输出格式:
多行输出,一行一个数

输入样例:
13
结尾无空行
输出样例:
0
1
2
3
4
5
6
7
8
9
11
结尾无空行

  • 写回答

1条回答 默认 最新

  • Hann Yang 优质创作者: 编程框架技术领域 2021-11-13 07:25
    关注
    def func(n):
        for i in range(n+1):
            flag = True
            s = str(i)
            for j in range(len(s)//2):
                if s[j]!=s[-j-1]:
                    flag = False
                    break
            if flag:
                print(i)
    
    输出结果:
    func(13)
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    11
    
    func(121)
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    11
    22
    33
    44
    55
    66
    77
    88
    99
    101
    111
    121
    >>>
    
    

    使用 for - else 结构,可以去掉 flag 标记设置:

    def func(n):
        for i in range(n+1):
            s = str(i)
            for j in range(len(s)//2):
                if s[j]!=s[-j-1]:
                    break
            else:
                print(i)
    
    
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月13日
  • 创建了问题 11月13日