美文网首页
Python【习题】回文数:判断一个数是否是回文数

Python【习题】回文数:判断一个数是否是回文数

作者: 彼岸的渔夫 | 来源:发表于2018-04-26 23:03 被阅读1887次

    人生苦短,我用Python

    环境:Windows 10 64-bit, python == 3.6.4 , PyCharm CE == 2018.1


    什么是回文数:
    有这样一类数,他们顺着看和倒着看是相同的数,例如:12321,1221,2332等,这样的数字就称为:回文数

    题目:输入一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

    • 找出5位数中所有的回文数:

    方法1.使用for 循环

    # 找出5位数中所有的回文数:
    for i in range(10000,100000):   # 遍历所有的5位数
        s = str(i)    # 将数转换成字符串类型,即可以用索引取出每一位上的数字
        if s[0] == s[-1] and s[1] == s[-2]:   # 字符串的索引
            print(i)
    

    方法2. 定义函数:

    def is_huiwen(n):
        reversed_str= str(n)
        return reversed_str == reversed_str[-1::-1]   # 
    
    output = filter(is_huiwen,range(10000,100000))
    print(list(output))
    
    • 用户自己输入一个5位数,判断是否是回文数:
    # 输入一个5位数,判断它是否是回文数:
    a = int(input(" 请输入一个5位整数:"))
    s = str(a)
    if s[0] == s[-1] and s[1] == s[-2]:
        print(" %d 是一个回文数!" % a)
    else:
        print(" %d 不是一个回文数!" % a)
    
    • 判断任意一个整数是否是回文数:
    n = int(input('请输入一个整数:'))
    s = str(n)
    f = True
    
    for i in range(len(s)//2):
        if s[i] != s[-1-i]:
            f = False
            break
    if f:
        print('%d 是一个回文数' % n)
    else:
        print('%d 不是一个回文数' % n)
    

    相关文章

      网友评论

          本文标题:Python【习题】回文数:判断一个数是否是回文数

          本文链接:https://www.haomeiwen.com/subject/dnqvlftx.html