2016-08-16 80 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:有一個count變量存儲一個數字,並且短語"hello, world"存儲在phrase變量中。 for循環重複5次。在它裏面,定義了一個佔位符變量index。重複while循環的長度爲phrase次,佔位符indexcount變量增加1。 for循環的最後一行輸出for循環的哪一輪和count變量。

編號2:同樣,定義了countphrase變量。重複for循環5次,第一行創建一個無限while循環(一個永遠重複)。但是,在count增加了phrase的長度之後,立即break超出while循環(停止它),因此它不會永久持續。最後一行輸出與Number 1相同的內容。 (這可能很清楚,因爲它們是相同的代碼行。)

編號3:countphrase變量再次被定義。循環運行5次。每次count增加phrase的長度,然後運行print語句(與數字1和2相同)。

希望這會有所幫助!

+0

@ Mr.Python:是的,它確實運行了,但不包括傳入的數字('range(4)'運行到4)。但是,由於'range()'函數默認從0開始,而不是1,所以循環會從0到4,這是5次重複。 –

相關問題