本文针对第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个小数位)。