《父與子的程式設計之旅(第3版)》第11章習題答案

謝婷婷發表於2020-08-27

本文針對第11章章末的習題提供參考答案。當然,有些習題的正確答案不止一個,特別是“動手試一試”,不過你可以通過這些答案來判斷自己的思路是否正確。

第11章 巢狀迴圈與可變迴圈

測試題

(1) 可以在range()函式中用一個變數來建立可變迴圈,下面這兩種做法都可行。

for i in range(numberOfLoops)

for i in range(1, someNumber)

(2) 可以把一個迴圈放在另一個迴圈的迴圈體中,以此建立巢狀迴圈,像這樣:

for i in range(5):
    for j in range(8):
        print("hi", end=" ")
    print()

上面這段程式碼會列印5行(外迴圈),每一行上會列印8次hi(內迴圈)。

(3) 將列印出15個星號。

(4) 這段程式碼的輸出結果如下所示。

* * *
* * *
* * *
* * *
* * *

(5) 對4層的決策樹來說,一共會有24種選擇,也就是16種選擇,或者說決策樹有16條可選路徑。

動手試一試

(1) 下面是一個倒數計時定時器程式,它會詢問使用者從哪個數開始倒數計時。

# 倒數計時定時器會詢問使用者從哪個數開始倒數計時
import time
start = int(input("Countdown timer: How many seconds? "))
for i in range(start, 0, -1):
    print(i)
    time.sleep(1)
print("BLAST OFF!")

(2) 下面這個程式會在每個數字旁邊列印一行星號:

# 倒數計時定時器會詢問使用者從哪個數開始倒數計時並在每個數字旁邊列印星號
import time
start = int(input("Countdown timer: How many seconds? "))
for i in range (start, 0, -1):
    print(i, end=' ')
    for star in range(i):
        print('*', end='')
    print()
    time.sleep(1)
print("BLAST OFF!")

也可以不使用巢狀迴圈,如下所示。

import time
start = int(input("Countdown timer: How many seconds? "))
for i in range (start, 0, -1):
    print(i, '*' * i)
    time.sleep(1)
print("BLAST OFF!")

相關文章