-1
votes

Quelle est la différence entre ces deux manières d'écrire la boucle si?

Dans mon livre de tutoriel, l'auteur formule ce programme comme indiqué dans le code n ° 2. Alors que mon intuitif me dit d'écrire le programme comme indiqué dans le code n ° 1. Les deux programmes obtiennent le travail pour moi, mais y a-t-il une différence entre ces deux codes? S'il y a, quel chemin va mieux, à votre avis?

#1
total = 0
count = 0
while (True):
    inp = input('Enter a number: ')
    if inp == 'done':
        break
    else:
        value = float(inp)
        total = total + value
        count = count + 1
average = total / count
print('Average:', average)

#end of 1

#2
total = 0
count = 0
while (True):
    inp = input('Enter a number: ')
    if inp == 'done': break
    value = float(inp)
    total = total + value
    count = count + 1
average = total / count
print('Average:', average)

#end of 2


2 commentaires

PEP8 décourage une ligne si des déclarations


@khelwood. Merci! Je pense aussi que la première version est beaucoup plus lisible, plus claire. Bon à savoir!


3 Réponses :


0
votes

Je pense que votre chemin est plus lisible, mais l'onglet supplémentaire de l'instruction IF ainsi que la déclaration d'autre n'est pas nécessaire. Je préfère la première option en raison de la lisibilité


0 commentaires

0
votes

Il n'y a aucune différence dans la façon dont le code est exécuté, il pourrait parfois être plus agréable d'utiliser une ligne une ligne si la déclaration. Une voie n'est pas objectivement meilleure, cela revient au contexte et à la préférence personnelle. Alors choisissez votre façon de préférer. Si vous avez déjà du doute sur la syntaxe Python et son style, consultez l'officiel Style Python Guide .

L'une des touches prend du guide de style est que la lisibilité compte, alors essayez de choisir l'option la plus lisible.


0 commentaires

0
votes

Si vous êtes plus à l'aise en utilisant la première syntaxe, vous pouvez l'utiliser sans problème.

Cependant, laissez-moi vous expliquer les différences entre les deux code: Utilisation de 'Break' signifie que chaque fois que INP == 'fait' est vrai, vous quitterez la boucle actuelle et continuez. Par conséquent, en utilisant un "autre" n'est pas obligatoire, car il atteint ou n'atteint pas ce que vous avez écrit dans la déclaration "sinon", il ne peut pas aller dans la déclaration si et la déclaration d'autre.

Sinon, c'est à peu près beaucoup, les deux codes vous donneront la même chose: D!


1 commentaires

Merci d'avoir souligné la logique derrière cela, c'était difficile pour moi de comprendre les fonctionnements exacts du deuxième code lors de la première vue. Votre réponse fait tout simplement plus plus de plus!