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

謝婷婷發表於2020-08-27

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

第21章 列印格式化與字串

測試題

(1) 如果想把兩條print語句中的所有內容都列印在同一行中,可以在第一條print語句的末尾加上, end='',如下所示。

print("What is", end='')
print("your name?")

(2) 如果在列印時要加入額外的空行,可以新增額外的print語句(其中不含任何內容),如下所示:

print("Hello")
print()
print()
print()
print("World")

也可以列印換行符\n,如下所示。

print("Hello\n\n\nWorld")

(3) 可以使用製表符\t來讓列印的內容按列對齊。

(4) 要用E記法列印一個數,需要使用格式化字串%e%E,如下所示。

>>> number = 12.3456
>>> print('%e' % number)
1.234560e+001

動手試一試

(1) 示例程式如下所示。

name = input("What is your name? ")
age = int(input("How old are you? "))
color = input("What is your favorite color? ")
print("Your name is", name, end=' ')
print("you are", age, "years old", end=' ')
print("and you like the color", color)

(2) 使用製表符讓乘法表對齊的程式碼如下所示:

for looper in range(1, 11):
    print(looper, "\ttimes 8 =\t", looper * 8)

注意,times前面和=號後面都有\t

(3) 有兩種方式可以列印這些分數的值。第一種方式如下:

for looper in range(1, 9):
    fraction = looper / 8
    print('%i/8 = %.3f' % (looper, fraction))

這裡對分數部分和小數部分都用了格式化字串來列印:

for looper in range(1, 9):
    fraction = looper / 8
    print(str(looper) + '/8 = %.3f' % fraction)

在第二種方式中,print(str(looper) + '/8 =列印這個分數的分子和分母,%.3f' % fraction)列印小數結果(帶3個小數位)。

相關文章