Bon voilà, j'apprends vraiment par moi-même en regardant des exemples, donc je n'ai pas vraiment la terminologie propre à python et regarder la FAQ me donne une impression de rien y connaître.
Donc, je pose directement ma question, espérant qu'elle ne soit pas dans la FAQ.
À nouveau, j'ai une erreur de syntaxe/compilation en faisant un problème du projet Euler. Je suis parvenu à ce code:
Mais j'obtiens une erreur "TypeError: 'int' object is not callable" avec Python 3.1. En regardant les solutions proposées par les précédents, je suis tombé sur une qui est parfaitement identique à la mienne (hormis le nom des variables) et je suppose qu'elle a été développée avec Python 2.x. Donc mon code devrait compiler avec cette version.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 def factorial(n): ... facts = [factorial(x) for x in range(10)] sum = 0 for n in range(10, 50000): if n == sum(facts[int(d)] for d in str(n)): sum += n print(sum)
Comment puis-je corriger mon code pour python 3 et de manière plus générale, où puis-je trouver une liste des différences entre python 2.x et 3.x qui soit compréhensible pour un débutant ?
D'avance merci,
Olivier
Partager