Python max() 函数 & Project Euler No 4



当我尝试求解项目Euler问题4时,我写了代码:

l=[]
for i in range(100,1000):
    for j in range (100,1000):
        a=i*j
        b=str(a)
        if b==b[::-1]:
           l.append(b)
print(max(l[-10:]))

答案是906609。但是,当我编写而不是max(l[-10:])时,max(l)结果变成了99999。但是,问题是列表中的数字是相同的,但是为什么 max 结果是不同的?

您获得的原因不是 int max是因为字符串之间的比较。您正在将字符串附加到列表中。

替换

l.append(b)

l.append(a)

获得预期的输出。

最新更新