当前位置:   article > 正文

Python求取1000到10000之间的回文数_python求1000到10000之间的回文数(1331,1221对称的数字为回文数)

python求1000到10000之间的回文数(1331,1221对称的数字为回文数)

我想到的最佳的办法就是,把这个数拆分开来,然后进行对称比较。

先看一看我第一遍的菜菜代码:

  1. list1 = [0, 0, 0, 0] # 定义一个长度为4的列表并初始化为0
  2. for i in range(1000,10001):
  3. list1[0]=i//1000
  4. list1[1]=i//100%10
  5. list1[2]=i//10%10
  6. list1[3]=i%10
  7. if list1[0]==list1[3] and list1[1]==list1[2]:
  8. print(i)

Tips:

@1:

‘ // '在python中是整除符号,例:

i=5//2,i=2

i=1200//100,i=12

@2:

'%'不用我说,大家都知道应该是取余符号吧///<---_--->///

 然后呢,我找到啦更加简便的一种方法!!!!~~~~~~

  1. def is_palindrome(n):
  2. return str(n) == str(n)[::-1]
  3. for i in range(1000, 10001):
  4. if is_palindrome(i):
  5. print(i)

这段代码中,我们首先定义了一个函数is_palindrome,它接受一个整数参数n,将其转换为字符串,然后比较这个字符串是否与其反转后的字符串相等。如果相等,说明这个整数是一个回文数。

然后,我们在1000到10000之间进行循环,对于每个数,我们调用is_palindrome函数判断是否为回文数,如果是,则打印该整数。

今天,又学会了一种方法呢~~~~~~

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/580508
推荐阅读
相关标签
  

闽ICP备14008679号