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

謝婷婷發表於2020-08-27

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

第8章 轉圈圈

測試題

(1) 這個迴圈會執行5次。

(2) 這個迴圈會執行3次,i的值依次是i = 1i = 3i = 5

(3) 提示一下,如果想知道當呼叫range()時程式會列出哪些數字,可以在互動模式中試試這樣做:

>>> list(range(5))
[0, 1, 2, 3, 4]

因此,range(1, 8)會列出1, 2, 3, 4, 5, 6, 7

(4) range(8)會列出0, 1, 2, 3, 4, 5, 6, 7

(5) range(2, 9, 2)會列出2, 4, 6, 8

(6) range(10, 0, -2)會列出10, 8, 6, 4, 2

(7) 可以使用continue停止當前的迭代迴圈,提前跳到下一次迭代。

(8) 當測試條件為False時,while迴圈便會結束。

動手試一試

(1) 下面的程式用for迴圈列印使用者選擇的乘法表。

# 列印1到10乘法表的程式
number = int(input('Which multiplication table would you like? '))
print('Here is your table:')
for i in range(1, 11):
    print(number, '×', i, '=', number * i)

(2) 下面的程式用while迴圈列印同一張乘法表。

# 列印乘法表的程式(while迴圈)
number = int(input('Which multiplication table would you like? '))
print('Here is your table:')
i = 1
while i <= 10:
    print(number, 'times', i, '=', number * i)
    i = i + 1

(3) 下面的程式會根據使用者自定義的範圍列印乘法表:

# 列印乘法表的程式
# 使用者輸入要列印乘法表的乘數上限
number = int(input('Which multiplication table would you like? '))
limit = int(input('How high do you want to go? '))
print('Here is your table:')
for i in range(1, limit + 1):
    print(number, 'times', i, '=', number * i)

注意,for迴圈中的range()的第二項包含一個變數,而不是一個數字。第11章介紹這部分內容。

相關文章