c = []
for i in range(100,1000):
for j in range(100,1000) :
k=i*j
l=str(k)
i = i+1
j= j+1
b = l[::-1]
if l == b :
c.append(l)
print max(c)
print c
我发现两个3位数字的最大倍数是回文。
输出是1817181。
现在在将第10行更改为
之后打印最大的整数
c.append(INT(1))
但回文问题的答案是错误的
c = []
for i in range(100,1000):
for j in range(100,1000) :
k=i*j
l=str(k)
b = l[::-1]
if l == b :
c.append(int(l))
print max(c)
更新代码给出正确答案
答案 0 :(得分:2)
正如其他人所说,你的列表中有一个最大字符串,但是如果你需要它们不是字符串,你可以使用它:
print max(c,key=int)
答案 1 :(得分:1)
这是因为您正在比较' max()'中的字符串。功能。因此,它会根据这些字符串数字的ASCII值进行比较。所以999999作为最大值返回。
相反,您应追加 k
列出c
。
c.append(k)