haoge404407 发表于 2020-5-24 10:29:22

python解回文数

【问题描述】所谓“回文数”是指具有如下性质的整数:一个整数,当它的各位数字逆序排列,形成的整数与原整数相同,这样的数称为回文数。例如,素数11,373,其各位数字对换位置后仍然为11,373,因此这两个整数均为回文数。编写函数int loop(int x),判断一个整数是否为回文数,如果x是回文数则返回1,否则返回0。编写程序loop.c,接收控制台输入的两个整数a,b。调用loop函数输出a到b之间(包括a和b)的所有回文数
【输入形式】控制台输入两个整数a和b(必有a<b),以空格分隔。
【输出形式】输出有若干行,每行有一个a和b之间的回文数。输出各行上的数字不重复,且从小至大依次按序输出。
【样例输入】3 120
【样例输出】
3
4
5
6
7
8
9
11
22
33
44
55
66
77
88
99
101
111
【样例说明】输入整数a=3,b=120,要求输出所有之间的回文数。按升序分行输出所有符合题意的整数。

haoge404407 发表于 2020-5-24 10:30:52

'''【问题描述】所谓&ldquo;回文数&rdquo;是指具有如下性质的整数:一个整数,当它的各位数字逆序排列,形成的整数与原整数相同,这样的数称为回文数。例如,素数11,373,其各位数字对换位置后仍然为11,373,因此这两个整数均为回文数。编写函数int loop(int x),判断一个整数是否为回文数,如果x是回文数则返回1,否则返回0。编写程序loop.c,接收控制台输入的两个整数a,b。调用loop函数输出a到b之间(包括a和b)的所有回文数'''
def loop(x):
    b=str(x)
    length = len(str(x))
    last = length-1
    length //= 2
    flag = 1
    for each in range(length):
      if b != b:
            flag = 0
      last -= 1

    if flag == 1:
      return 1
    else:
      return 0

string1 = int(input('请输入一个数字:'))
string2 = int(input('请输入一个数字'))
for i in range(string1,string2):
    if loop(i) == 1:
      print(i)
这是我的代码,但是不符合它的格式子,怎么改,格式是这样【样例输入】3 120,主要是我加了中文

liuzhengyuan 发表于 2020-5-24 10:32:33

把数字转成字符串
然后
if s == s[::-1]

s[::-1] 的意思就是把字符串s 颠倒

qiuyouzhi 发表于 2020-5-24 10:33:10

haoge404407 发表于 2020-5-24 10:30
'''【问题描述】所谓&ldquo;回文数&rdquo;是指具有如下性质的整数:一个整数,当它的各位数字逆序排列,形 ...

k = input().split()
for i in range(int(k), int(k)):
    if str(i)[::-1] == str(i):
      print(i)

zwhe 发表于 2020-5-28 10:26:20

{:7_112:}
页: [1]
查看完整版本: python解回文数