Sha*_* Li 0 python reverse palindrome python-3.x
我的代码是用python 3编写的,它的目的是打印出回文.它应该遍历2个3位数字的所有回文产品,如下所示:
mylist=[]
for i in range(999,99,-1):
for x in range(999, i-1, -1,):
number=i*x
number=str(number)
if number==number[::-1]:
#print(number)
mylist.append(number)
mylist=mylist.sort(reverse=True)
print(mylist)
Run Code Online (Sandbox Code Playgroud)
请注意已注释的打印件.当它仍然存在时,应该打印出的所有回文都出来了.当我运行我的代码而没有print语句时,控制台只打印出"无".
据我所知,我的逻辑是有序的,为什么会发生这种情况呢?编辑:此外,当我按相反顺序对列表进行排序时,首先是99999.我认为这是因为python看着连续的9并且认为它是最大的.但是,有没有一种简单的方法来获得实际最大的数字?
list.sort()始终返回None(列表就地排序).你想要的是sorted(list)返回一个新的排序列表.
然后你可以像这样对它们进行排序:
mylist = [int(x) for x in mylist]
mylist.sort(reverse=True)
mylist = [str(x) for x in mylist]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2512 次 |
| 最近记录: |