小甲鱼 发表于 2020-11-4 17:02:48

已有 25 人购买  本主题需向作者支付 5 鱼币 才能浏览 购买主题

afula 发表于 2020-11-5 10:37:52

本帖最后由 afula 于 2020-11-5 11:09 编辑

def f(num):
        if len(str(num)) == 1 or num == 0:
                return True
        else:
                #如果最低位和最高位的数字相等,则将num去除最高位和最低位进入下一次的迭代。不相等就直接结束迭代。
                if num // pow(10, len(str(num))-1) == num % 10:
                        return f((num % pow(10, len(str(num))-1))// 10)
                else:
                        return False
num = int(input("输入:"))
if f(num):
        print("输出:是回文数")
else:
        print("输出:不是回文数")

afula 发表于 2020-11-5 10:52:36

本帖最后由 afula 于 2020-11-5 16:14 编辑

#小甲鱼没有放答案在上面,我就写写看,这个的迭代必须要迭代数字位数的1/2次.
def fa(x, revertedNumber=0):
        if x < 0 or (x % 10 == 0 and x != 0):
                return False
        else:
                if x // 10 == revertedNumber or x == revertedNumber:
                        return True
                elif len(str(x)) == len(str(revertedNumber)) or len(str(x))-1 == len(str(revertedNumber)):
                        return False
                else:
                        return fa(x // 10, x % 10 + revertedNumber * 10)
num = int(input("输入:"))
if fa(num):
        print("输出:是回文数")
else:
        print("输出:不是回文数")

2452482417 发表于 2020-11-5 14:40:31

r

afula 发表于 2020-11-5 16:15:18

{:5_107:}

仅此而已66 发表于 2020-11-5 16:24:55

1

wuyanzulqq 发表于 2020-11-12 19:31:20

66666

siven-siven 发表于 2020-11-13 16:03:42

?

745767986 发表于 2020-11-15 16:29:00

学习

自学编程的聪聪 发表于 2020-11-16 15:01:56

1

夙惜言 发表于 2020-11-23 18:39:30

赐福考官 发表于 2020-11-23 19:13:14

方法一(比较字符串):
a = str(input('请输入一个数:'))
list1 = []
for each_num in a:
    list1.append(each_num)
list2 = list(reversed(list1))
if list1 == list2:
    print('是回文数')
方法二(比较数字):
b = 0
c = 0
a = int(input('请输入一个数:'))
d = a
for r in str(a):
    c = a
    a = a//10
    if c>=10:
      b += (c%10)
      b *= 10
    else:
      b += c
if b == d:
    print('是回文数')
else:
    print('不是回文数')

jakwsily 发表于 2020-11-24 10:26:42

111

甲鱼fans 发表于 2020-11-24 16:30:56

1

lonbaw 发表于 2020-11-30 15:06:06

    #!/usr/bin/python3

    """
    输入:12321
    输出:是回文数。
    输入:12345
    输出:不是回文数。
    输入:-12321
    输出:不是回文数。
    输入:0
    输出:是回文数。
    """
    def palindrome(num):
      for i in range(len(num)):
            if num==num[-(i+1)]:
                continue
            else:
                print("%s不是回文数"% num)
                return False
      print("%s是回文数" % num)            
      return True

    palindrome('123456789')







“或许” 发表于 2020-12-1 07:54:03

康康答案

UPLHY 发表于 2020-12-1 20:53:50

1

okkboss 发表于 2020-12-2 19:04:38

1

洋洋痒 发表于 2020-12-12 12:41:26

1

一个柠檬 发表于 2020-12-14 02:17:20

我看看
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 判断一个整数是否为回文数?