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."
무엇이 사실입니까?
나는 ‘true 동안’은 속기라고 생각하지만 무엇을 위해? 변수 ‘hand’에 값이 할당되는 동안? 그리고 변수 ‘hand’에 값이 할당되지 않으면 어떻게 될까요?
답변
while True
영원히 루프를 의미합니다. 이 while
명령문은 표현식을 가져 와서 루프 본문을 실행하고 표현식이 (부울) “true”로 평가됩니다. True
항상 부울 “true”로 평가되어 루프 본문을 무기한 실행합니다. 결국 익숙해지는 관용구입니다! 여러분이 접하게 될 대부분의 언어에는 동등한 관용구가 있습니다.
대부분의 언어에는 일반적으로 루프를 일찍 종료하는 메커니즘이 있습니다. Python break
의 cmd == 'e'
경우 질문의 샘플 의 경우 진술입니다 .
답변
내 질문 : 무엇이 사실입니까?
동안 True
입니다 True
.
while 루프는 조건식이로 평가되는 한 실행됩니다 True
.
True
항상로 평가 되기 때문에 True
루프는 루프 return
s 또는 break
s 내에 무언가가있을 때까지 무한히 실행됩니다 .
답변
내 질문 : 무엇이 사실입니까?
while 문의 () 안에있는 모든 것은 부울로 평가됩니다. 참 또는 거짓으로 변환됨을 의미합니다.
성명에서 고려 while(6 > 5)
먼저 다음과 같은 표현 6 > 5
을 평가합니다.true
while(true)
FALSE, 0, 빈 문자열 “”, null 또는 정의되지 않은 모든 항목은 true로 평가 될 수 있습니다.
내가 처음 프로그래밍을 시작했을 때 나는 같은 if(foo == true)
일을했지만, 그것이 사실상 if(foo)
.
그래서 당신이 while(true)
그와 같은 말을 할 때while(true == true)
그래서 당신의 질문에 대답하기 위해 : 참은 참입니다.
답변
while True
is true-즉 항상. 이것은 무한 루프입니다
여기서 중요한 차이점 True
은 특정 유형의 상수 값을 나타내는 언어의 키워드와 수학적 개념 인 ‘true’입니다.
답변
이 맥락에서 나는 그것이 다음과 같이 해석 될 수 있다고 생각한다.
do
...
while cmd != 'e'
답변
True
항상 True
이므로 while True
영원히 반복됩니다.
while
키워드는 식을 소요하고 표현식이 true 인 동안 루프. True
항상 참인 표현입니다.
명확한 예로서 다음을 고려하십시오.
a = 1
result = a == 1
여기에, a == 1
반환 True
, 따라서 넣어 True
로 result
. 그 후,
a = 1
while a == 1:
...
다음과 같습니다.
while True:
...
루프 a
내부의 값을 변경하지 않는 경우 while
.
답변
공식적으로 는 bool 유형 True
의 Python 내장 상수 입니다 .
부울 유형에 부울 연산 을 사용하고 (예를 들어 대화 형 파이썬 프롬프트에서) 숫자 를 부울 유형으로 변환 할 수 있습니다.
>>> print not True
False
>>> print not False
True
>>> print True or False
True
>>> print True and False
False
>>> a=bool(9)
>>> print a
True
>>> b=bool(0)
>>> print b
False
>>> b=bool(0.000000000000000000000000000000000001)
>>> print b
True
그리고 잠재적으로 여러분이 보는 것과 파이썬 컴파일러가 보는 것과 관련된 “가지 잡음”이 있습니다.
>>> n=0
>>> print bool(n)
False
>>> n='0'
>>> print bool(n)
True
>>> n=0.0
>>> print bool(n)
False
>>> n="0.0"
>>> print bool(n)
True
파이썬이 bool 유형을 내부적으로 저장하는 방법에 대한 힌트로 bool 유형을 정수로 변환 할 수 있으며 True는 1과 False 0이됩니다.
>>> print True+0
1
>>> print True+1
2
>>> print False+0
0
>>> print False+1
1
실제로 Python bool
유형은 Python 유형의 하위 클래스입니다 int
.
>>> type(True)
<type 'bool'>
>>> isinstance(True, int)
True
질문에서 더 중요한 부분은 “무엇입니까 while True
?”입니다. ‘참은 무엇인가’이고 중요한 결과 : 거짓이란 무엇인가?
먼저, 배우는 모든 언어에 대해 언어가 ‘참’과 ‘거짓’으로 간주하는 것을 배우십시오. 예를 들어 Python은 Truth를 Perl Truth 와 약간 다르게 간주 합니다. 다른 언어는 참 / 거짓 개념 이 약간 다릅니다 . 나중에 많은 골칫거리를 피하기 위해 다른 작업 및 흐름 제어에 대해 귀하의 언어가 참과 거짓으로 간주하는 것을 파악하십시오!
원하는 것을 찾을 때까지 무언가를 처리하려는 알고리즘이 많이 있습니다. 따라서 무한 루프 또는 무한 루프입니다. 각 언어는 이러한 구조에 대해 고유 한 관용구를 갖는 경향이 있습니다. 다음은 Perl에서도 작동하는 일반적인 C 무한 루프입니다.
for(;;) { /* loop until break */ }
/* or */
while (1) {
return if (function(arg) > 3);
}
이 while True:
형식은 파이썬에서 루프를 벗어나는 방법이있는 무한 루프에 대해 일반적입니다. 루프에서 벗어나는 방법을 이해하려면 Python 흐름 제어 를 배우십시오 while True
. 예를 들어 대부분의 언어와 달리 Python은 else
루프에 절을 가질 수 있습니다 . 마지막 링크에 예가 있습니다.
