Impression de Listes en python

Je vais avoir des problèmes en essayant d'imprimer une liste en python. Je veux imprimer tous les éléments dans une liste avec le code suivant, plus précisément les deux dernières lignes.

def primefind(n):
  mylist = []
  x = 3
  while (x < n/2):
    if ((n % x) == 0):
      mylist.append(x)
      x = x + 2
  for item in mylist:
    print item

J'obtiens une erreur de syntaxe quand je lance ce. Il met en évidence "élément" à la dernière ligne. Aussi loin que je peux dire c'est syntaxiquement correct donc je suis confus! Même ce site montre la même syntaxe que j'ai utilisé http://effbot.org/zone/python-list.htm#looping

Des idées où je suis allé mal?

  • Aussi, je ne sais pas si c'est une faute de frappe mais il semble que vous avez besoin de déplacer l'axe x = x + 2 sur le bloc si
  • Oui c'est juste une faute de frappe. Bonne prise bien.
  • Vous n'avez pas besoin de parenthèses autour des conditions dans if et while déclarations en Python.
  • Mon vieux C habitudes montrant à travers. Je pense qu'il lit plus clair avec la parenthèse. Mais c'est peut être tout simplement parce que de ce que je suis habitué.
  • Python est un guide de style appelée PEP 8. La plupart des gens s'en tenir à ce guide de style, qui a l'avantage que la plupart de code Python utilise un style familier, l'augmentation de la lisibilité.
  • Merci je vais vérifier. Je dois vraiment essayer et de sortir de mauvaises habitudes.

InformationsquelleAutor user1322388 | 2012-04-09