当前位置 博文首页 > 李江辰:python:输出<=n的全部回文数 (高教社,《Python编程

    李江辰:python:输出<=n的全部回文数 (高教社,《Python编程

    作者:[db:作者] 时间:2021-08-23 22:21

    题目:

    输出<=n的全部回文数

    高教社《Python编程基础及应用》

    【描述】数字121从左往右读与从右往左读是一样的,这种数称为回文数。请使用for循环以及切片方法设计一个程序, 找出>=0并且<=n的全部回文数。
    注意:单个的数字0,数字1,… 数字9也认为是回文数。
    输入格式:
    n
    输出格式:
    多行输出,一行一个数
    输入样例:

    13

    输出样例:

    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    11

    代码:

    n = int(input())
    for i in range(n+1):
        b = str(i)
        if b == b[::-1]:
            print(b)
    

    解析:

    核心内容是要了解如何判断一个数是不是回文数

    • 正序和倒序都是一样的就叫回文数

    实现的方式有很多这里只举一个栗子:

    1:倒序输出
    a=input('输入:')#输入字符串
    b=a[::-1]#倒序输出
    if a==b:#判断是否相等
        print('是回文数')
    else:
        print('不是回文数')
    

    知识点
    范围切片:a[start: end: step]
    变量名[开始下标:结束下标:步长]
    例如:

    a = 'Hello World!'
    print(a[4])#取下标为4的元素
    print(a[:]) # 取出所有元素,默认步长为1
    print(a[1:]) # 从下标为1开始,取出 后面所有的元素(没有结束位)
    print(a[:5]) # 从起始位置开始,取到 下标为5的前一个元素(不包括结束位本身)
    print(a[:-1]) # 从起始位置开始,取到 倒数第一个元素(不包括结束位本身)
    print(a[-4:-1]) # 从倒数第4个元素开始,取到 倒数第1个元素(不包括结束位本身)
    print(a[1:5:2]) # 从下标为1开始,取到下标为5的前一个元素,步长为2(不包括结束位本身)
    print(a[::-1]) '←---这题所使用的'# 从后向前,按步长为1进行取值
    
    o
    Hello World!
    ello World!
    Hello
    Hello World
    rld
    el
    !dlroW olleH
    
    掌握以上后我们可以开始进行多位数的判断
    n = int(input()) #输入一个数
    for i in range(n+1): #让i从0-n赋值
        b = str(i)
        if b == b[::-1]:
            print(b)
    

    知识点
    range()是一个函数
    range(start, stop[, step]),分别是起始、终止和步长

    for i in range () 就是给i赋值:
    比如 for i in range (1,3):就是把1,2依次赋值给i
    range(3)即:从0到3,不包含3,即0,1,2

    所以要实现0-N 就需要在range(N)变成range(N+1)

    到这里就剩下一些字符类型的转换了就不多解释了。

    END

    cs