What does "while True" mean in Python?
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."
While WHAT is True?
I reckon saying 'while true' is shorthand, but for what? While the variable 'hand' is being assigned a value? And what if the variable 'hand' is not being assigned a value?
Solution 1:
while True
means loop forever. The while
statement takes an expression and executes the loop body while the expression evaluates to (boolean) "true". True
always evaluates to boolean "true" and thus executes the loop body indefinitely. It's an idiom that you'll just get used to eventually! Most languages you're likely to encounter have equivalent idioms.
Note that most languages usually have some mechanism for breaking out of the loop early. In the case of Python it's the break
statement in the cmd == 'e'
case of the sample in your question.
Solution 2:
my question: while WHAT is True?
While True
is True
.
The while loop will run as long as the conditional expression evaluates to True
.
Since True
always evaluates to True
, the loop will run indefinitely, until something within the loop return
s or break
s.