120 votes

une question de base sur "tout en étant vrai"

niveau: débutant

 def play_game(word_list):
    hand = deal_hand(HAND_SIZE) # random init
    while True:
        cmd = raw_input('Enter n to deal a new hand, r to replay the last hand, or e to end game: ')
        if cmd == 'n':
            hand = deal_hand(HAND_SIZE)
            play_hand(hand.copy(), word_list)
            print
        elif cmd == 'r':
            play_hand(hand.copy(), word_list)
            print
        elif cmd == 'e':
            break
        else:
            print "Invalid command."
 

ma question: alors QUOI est vrai?

je pense que dire "tout en étant vrai" est un raccourci mais pour quoi? tandis que la variable «main» reçoit une valeur? et que se passe-t-il si la variable «main» ne reçoit pas de valeur?

138voto

Richard Cook Points 10763

while True moyen de la boucle pour toujours. L' while instruction est une expression et exécute le corps de la boucle, tandis que l'expression est évaluée à (boolean) "true". True prend toujours la valeur booléenne "true" et donc exécute le corps de la boucle indéfiniment. C'est un idiome que vous aurez juste s'habituer à finalement! La plupart des langues, vous êtes susceptible de rencontrer l'équivalent des expressions idiomatiques.

Notez que la plupart des langues ont généralement un mécanisme pour sortir de la boucle au début. Dans le cas de Python, c'est l' break énoncé dans l' cmd == 'e' de cas de l'échantillon dans votre question.

65voto

Dagg Nabbit Points 23918

ma question: alors QUOI est vrai?

Alors que True est True .

La boucle while s'exécutera tant que l'expression conditionnelle sera évaluée à True .

Étant donné que True toujours évalué à True , la boucle s'exécutera indéfiniment, jusqu'à ce que quelque chose dans la boucle return s ou break s.

12voto

Chris Dodd Points 39013

tandis que True est vrai - c'est-à-dire toujours. Ceci est une boucle infinie

Notez la distinction importante ici entre True qui est un mot-clé dans la langue désignant une valeur constante d'un type particulier, et «vrai» qui est un concept mathématique.

10voto

JD Isaacks Points 14540

ma question: tout CE qui est Vrai?

Tout à l'intérieur de la () de l'instruction while va être évalué comme un booléen. Sens, il est converti en valeur true ou false.

Considérer dans l'énoncé while(6 > 5)

Il évalue d'abord l'expression 6 > 5 qui true est donc la même chose que de dire while(true)

Tout ce qui n'est pas FAUX, 0, un emptry chaîne "", null ou undefined est susceptible d'être évaluée à vrai.

Quand j'ai commencé la programmation que j'ai utilisé pour faire des choses comme if(foo == true), je ne savais pas que c'était pratiquement la même chose que if(foo).

Donc quand vous dites while(true) de son comme disent while(true == true)

Donc, pour répondre à votre question: si cela est VRAI est Vrai.

4voto

Paul Butcher Points 5271

Dans ce contexte, je suppose que cela pourrait être interprété comme

 do
...
while cmd  != 'e' 
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X