Qu'est-ce que Python est l'équivalent de Java standard pour la boucle?

Je suis en train d'écrire un algorithme simple pour vérifier la primalité d'un entier et je vais avoir un problème de traduction de ce code Java en Python:

for (int i = 3; i < Math.sqrt(n); i += 2) {
    if (n % i == 0)
        return false;
}

Donc, j'ai essayé de l'utiliser, mais je suis évidemment à sauter de la division par 3:

i = 3
while (i < int(math.sqrt(n))):
    i += 2  # where do I put this?
    if (n % i == 0):
        return False
  • for (a; b; c) { _ } -> a; while(b) { _; c; } - limitation de portée des questions et d'avoir à traiter avec continue. Le dernier composant de la pour-chaque construction est evalutated après chaque évaluation du corps de la boucle.
  • Vous voudrez peut-être jeter un coup d'oeil à blog.startifact.com/posts/older/what-is-pythonic.html en référence à vouloir traduire en java (ou d'autres langues) à python - n'oubliez pas d'être pythonic!
InformationsquelleAutor Deneb A. | 2013-07-01