在一个安静的周六晚上,我正在解决几个难题(好吧...并不是很开心),我在使用sort()函数时遇到了问题,结果并不如我所预期。该程序从100-999枚举每个组合,并检查它们的乘积是否为回文数。如果是,则将其添加到列表中。我需要对列表进行排序:D 这是我的程序:
list = [] #list of numbers
for x in xrange(100,1000): #loops for first value of combination
for y in xrange(x,1000): #and 2nd value
mult = x*y
reversed = str(mult)[::-1] #reverses the number
if (reversed == str(mult)):
list.append(reversed)
list.sort()
print list[:10]
它捕获了哪些内容:
['101101', '10201', '102201', '102201', '105501', '105501', '106601', '108801',
'108801', '110011']
很明显,索引0比1大。有任何想法是怎么回事吗?我有一种感觉这可能与尾随/前导零有关,但我快速查看了一下,没有找到问题所在。
如果您知道这个谜题的来源,那就额外加分:P