2017-10-05 27 views
0

我有這個代碼,我很難理解爲什麼這個值返回,並希望有人能解釋給我。我是新來的循環和索引,所以請忍受我。麻煩理解爲什麼這個值返回

total = 0 
while total < 10: 
    for i in range(3): 
     total += 1 
    total *= 2 
    print(total) 

我無法理解如何這隻返回的618值。

+7

拿一支鉛筆和一張紙,一行一行,你會明白答案 – zenwraight

回答

2

就看到發生了什麼:

total = 0 
while total < 10: 
    for i in range(3): 
     total += 1 

total現在等於3.

total *= 2 

total現在等於6.

print(total) 

它打印出 「6」。 total仍然< 10,因此它再一次循環:

while total < 10: 
    for i in range(3): 
     total += 1 

total現在等於6 + 3 = 9。

total *= 2 

total現在等於18

print(total) 

它輸出 「18」。現在total大於10,因此您的while循環停止。

0
total = 0 
while total < 10: 
    for i in range(3): 
     total += 1 
    total *= 2 
    print(total) 

總= 0

intially總值小於10,從而while循環的工作原理,然後 後for循環總是

總=總+ 0

然後總=總+1

then total = total + 2

for循環所以總後是

總= 3

在此之後總= 3 * 2 = 6

總的下一個總語句 值第一while循環= 6

再次它去到while循環和值小於10,而 循環後,能正常工作

for循環總量

總=總+ 0

然後總=總+ 1

然後總=總+ 2

所以總的for循環之後是 總= 9

然後下一個總語句 值的總= 3 * 2 = 18

總後第一while循環= 18

再次它去es while while循環和值大於10 while while循環不工作並中斷。