我的代码是用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)注意注释掉的打印。当它还在的时候,所有应该打印出来的回文都出来了。当我在没有print语句的情况下运行我的代码时,控制台只输出'None‘。
据我所知,我的逻辑是有序的,那么为什么会发生这种情况呢?编辑:同样,当我按反序排序我的列表时,99999排在第一位。我想这是因为巨蟒看了看连续的9个,并认为它是最大的。然而,有一个简单的方法来获得实际的最大数字吗?
发布于 2017-02-10 22:22:06
list.sort()总是不返回任何(列表是按位置排序的)。您需要的是sorted(list),它返回一个新的排序列表。
然后你就可以这样分类了:
mylist = [int(x) for x in mylist]
mylist.sort(reverse=True)
mylist = [str(x) for x in mylist]https://stackoverflow.com/questions/42169571
复制相似问题