plus palindrome avec 3 chiffres en python

Dans la résolution 4 de http://projecteuler.net/ il dit:

Un nombre palindrome se lit la même dans les deux sens. Le plus grand palindrome fait le produit de deux nombres de 2 chiffres est 9009 = 91 * 99.

Trouver le plus grand palindrome fait le produit de deux nombres de 3 chiffres.

J'ai ce code ici

def isPalindrome(num):
    return str(num) == str(num)[::-1]
def largest(bot, top):
    for x in range(top, bot, -1):
        for y in range(top,bot, -1):
            if isPalindrome(x*y):
                return x*y
print largest(100,999)

Il doit trouver le plus grand palindrome, il crache 580085 qui, je crois, pour être correcte, mais le projet euler ne le pense pas, dois-je quelque chose de mal ici?


Quand j'ai vénéré pour la boucle, je n'avais pas penser, j'ai enlevé la chose qui vérifie pour les plus grands, je suis bête. Heres le code de travail

def isPalindrome(num):
    return str(num) == str(num)[::-1]
def largest(bot, top):
    z = 0
    for x in range(top, bot, -1):
        for y in range(top,bot, -1):
            if isPalindrome(x*y):
                if x*y > z:
                    z = x*y
    return z
print largest(100,999)

il crache 906609

InformationsquelleAutor FabianCook | 2012-10-01