此代码旨在查找由两个 3 位数字的乘积创建的最大回文数。
我确信有更有效的方法来解决这个问题,欢迎您发布它们,但在我学习的这个阶段,我最感兴趣的是如何编辑我编写的代码使其正常工作。
当我运行这段代码时,它正确地创建了一个排序的回文列表,但列表中的最大数字是 99,999。我不明白为什么该列表没有超出此范围。
def palindromes():
product_list=[]
palindrome_list=[]
for a in range(100,1000):
for b in range(100,1000):
product_list.append(a*b)
for product in product_list:
product = str(product)
if len(product) % 2 == 0:
if product[0]==product[5] and product[1]==product[4] and product[2]==product[3]:
palindrome_list.append(product)
if len(product) % 2 != 0:
if product[0]==product[4] and product[1]==product[3]:
palindrome_list.append(product)
palindrome_list = sorted(set(palindrome_list))
return palindrome_list
print(palindromes())