Programing

"참일 동안"에 대한 기본적인 질문

lottogame 2020. 10. 29. 07:45
반응형

"참일 동안"에 대한 기본적인 질문


수준 : 초급

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 breakcmd == 'e'경우 질문의 샘플 경우 진술입니다 .


내 질문 : 무엇이 사실입니까?

동안 True입니다 True.

while 루프는 조건식이로 평가되는 한 실행됩니다 True.

True항상로 평가 되기 때문에 True루프는 루프 returns 또는 breaks 내에서 무언가가있을 때까지 무한히 실행됩니다 .


while Trueis true-즉 항상. 이것은 무한 루프입니다

여기서 중요한 차이점 True은 특정 유형의 상수 값을 나타내는 언어 키워드와 수학적 개념 인 'true'입니다.


내 질문 : 무엇이 사실입니까?

while 문의 () 안에있는 모든 것은 부울로 평가됩니다. 참 또는 거짓으로 변환된다는 의미입니다.

성명에서 고려 while(6 > 5)

먼저 다음과 같은 표현 6 > 5평가합니다.truewhile(true)

FALSE, 0, 빈 문자열 "", null 또는 정의되지 않은 모든 항목은 true로 평가 될 수 있습니다.

내가 처음 프로그래밍을 시작했을 때 나는 같은 if(foo == true)일을했지만, 그것이 사실상 if(foo).

그래서 당신이 while(true)그와 같은 말을 할 때while(true == true)

그래서 당신의 질문에 대답하기 위해 : 참은 참입니다.


이 맥락에서 나는 그것이 다음과 같이 해석 될 수 있다고 생각한다.

do
...
while cmd  != 'e' 

True항상 True이므로 while True영원히 반복됩니다.

while키워드는 식을 소요하고 표현식이 true 인 동안 루프. True항상 참인 표현입니다.

가능한 명확한 예로서 다음을 고려하십시오.

a = 1
result = a == 1

여기에, a == 1반환 True, 따라서 넣어 Trueresult. 그 후,

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

As a hint of how Python stores bool types internally, you can cast bool types to integers and True will come out to be 1 and False 0:

>>> print True+0
1
>>> print True+1
2
>>> print False+0
0
>>> print False+1
1

In fact, Python bool type is a subclass of Python's int type:

>>> type(True)
<type 'bool'>
>>> isinstance(True, int)
True

The more important part of your question is "What is while True?" is 'what is True', and an important corollary: What is false?

First, for every language you are learning, learn what the language considers 'truthy' and 'falsey'. Python considers Truth slightly differently than Perl Truth for example. Other languages have slightly different concepts of true / false. Know what your language considers to be True and False for different operations and flow control to avoid many headaches later!

There are many algorithms where you want to process something until you find what you are looking for. Hence the infinite loop or indefinite loop. Each language tend to have its own idiom for these constructs. Here are common C infinite loops, which also work for Perl:

for(;;) { /* loop until break */ }

/* or */

while (1) {
   return if (function(arg) > 3);
}

The while True: form is common in Python for indefinite loops with some way of breaking out of the loop. Learn Python flow control to understand how you break out of while True loops. Unlike most languages, for example, Python can have an else clause on a loop. There is an example in the last link.


A while loop takes a conditional argument (meaning something that is generally either true or false, or can be interpreted as such), and only executes while the condition yields True.

As for while True? Well, the simplest true conditional is True itself! So this is an infinite loop, usually good in a game that requires lots of looping. (More common from my perspective, though, is to set some sort of "done" variable to false and then making that true to end the game, and the loop would look more like while not done: or whatever.)


In some languages True is just and alias for the number. You can learn more why this is by reading more about boolean logic.


To answer your question directly: while the loop condition is True. Which it always is, in this particular bit of code.


while loops continue to loop until the condition is false. For instance (pseudocode):

i = 0
while i < 10
  i++

With each iteration of the loop, i will be incremented by 1, until it is 10. At that point, the condition i < 10 is no longer true, and the loop will complete.

Since the condition in while True is explicitly and always true, the loop will never end (until it is broken out of some other way, usually by a construct like break within the loop body).


Nothing evaluates to True faster than True. So, it is good if you use while True instead of while 1==1 etc.


while True:
    ...

means infinite loop.

The while statement is often used of a finite loop. But using the constant 'True' guarantees the repetition of the while statement without the need to control the loop (setting a boolean value inside the iteration for example), unless you want to break it.

In fact

True == (1 == 1)

while True mean infinite loop, this usually use by long process. you can change

while True:

with

while 1:

Anything can be taken as True until the opposite is presented. This is the way duality works. It is a way that opposites are compared. Black can be True until white at which point it is False. Black can also be False until white at which point it is True. It is not a state but a comparison of opposite states. If either is True the other is wrong. True does not mean it is correct or is accepted. It is a state where the opposite is always False. It is duality.

참고URL : https://stackoverflow.com/questions/3754620/a-basic-question-about-while-true

반응형