2016-08-16 3 views
-1
**1** 
count = 0 
phrase = "hello, world" 
for iteration in range(5): 
    index = 0 
    while index < len(phrase): 
     count += 1 
     index += 1 
    print "Iteration " + str(iteration) + "; count is: " + str(count) 


**2** 
count = 0 
phrase = "hello, world" 
for iteration in range(5): 
    while True: 
     count += len(phrase) 
     break 
    print "Iteration " + str(iteration) + "; count is: " + str(count) 

**3** 
count = 0 
phrase = "hello, world" 
for iteration in range(5): 
    count += len(phrase) 
    print "Iteration " + str(iteration) + "; count is: " + str(count) 
+2

이들은 약간 이상한 예입니다. 실행 해 보셨습니까? 걔들 뭐해? 너는 그들에게 무엇을 기대 하느냐? –

+0

예 그들은 기본적으로 구의 문자 수를 세고 각 반복마다 카운트를 인쇄합니다. 그러나 나는 적용되는 개념을 이해하지 못합니다. – PyCoding

답변

0

숫자 1 : 숫자를 저장할 수있는 변수는 "hello, world"이고 변수는 phrase입니다. for 루프는 5 번 반복됩니다. 그 안에는 자리 표시 자 변수 index이 정의되어 있습니다. while 루프 반복 길이를 phrase 번 반복하고 자리 표시 자 indexcount 변수를 1 씩 증가시킵니다. for 루프의 마지막 행은 for 루프와 count 변수를 인쇄합니다.

번호 2 : 다시, countphrase 개의 변수가 정의됩니다. for 루프를 5 번 반복하면 첫 번째 라인은 무한 while 루프를 만듭니다 (하나는 영원히 반복합니다). 그러나 count이 길이가 phrase만큼 증가한 후에는 while 루프에서 즉시 breaks (중지)이므로 영원히 지속되지 않습니다. 마지막 줄은 숫자 1과 동일한 것을 인쇄합니다. (이는 동일한 코드 행이라는 사실 때문에 분명 할 수 있습니다.)

3 번 : countphrase 변수가 다시 정의됩니다. for 루프가 실행됩니다. 매번 count이 길이가 phrase만큼 증가한 다음 print 문이 실행됩니다 (숫자 1 및 2와 동일).

희망이 도움이됩니다.

+0

@ Mr.Python : 그렇습니다. 전달 된 숫자는 실행되지만 ('range (4)'는 최대 4까지 실행됩니다) 포함되지 않습니다. 그러나,'range()'함수는 기본적으로 0이 아니라 1부터 시작하므로, 루프는 0에서 4까지 5 회 반복됩니다. –

관련 문제