《Python编程快速上手—让繁琐工作自动化》实践项目答案:第四章

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

1.逗号代码:
有这样的列表:spam = ['apples','bananas','tofu','cats']
编写一个函数,它以一个列表值作为参数,返回一个字符串。该字符串包含所有表项,表项之间以逗号和空格分隔,并在最后一个表项之前插入 and。例如,将前面的 spam 列表传递给函数,将返回'apples, bananas, tofu, and cats'。但你的函数应该能够处理传递给它的任何列表。

点击查看代码
def joinSpam(spam):
    i = len(spam)-1
    spam[i] = 'and ' + str(spam[i]) # 修改了列表中最后的列表值
    str1 = ', '
    print(str1.join(spam))

spam = ['apples','bananas','tofu','cats']
joinSpam(spam)

# 运行结果
apples, bananas, tofu, and cats
  1. 字符图网格
    假定有一个列表的列表,内层列表的每个值都是包含一个字符的字符串,像这样:
    spam =
    [['.', '.', '.', '.', '.', '.'],
    ['.', 'O', 'O', '.', '.', '.'],
    ['O', 'O', 'O', 'O', '.', '.'],
    ['O', 'O', 'O', 'O', 'O', '.'],
    ['.', 'O', 'O', 'O', 'O', 'O'],
    ['O', 'O', 'O', 'O', 'O', '.'],
    ['O', 'O', 'O', 'O', '.', '.'],
    ['.', 'O', 'O', '.', '.', '.'],
    ['.', '.', '.', '.', '.', '.']]
    你可以认为 grid[x][y]是一幅“图”在 x、y 坐标处的字符,该图由文本字符组成。原点(0, 0)在左上角,向右 x 坐标增加,向下 y 坐标增加。复制前面的网格值,编写代码用它打印出图像。
点击查看代码
def gridJoin(spam):
    len_list = len(spam)
    len_list1 = len(spam[0])
    for x in range(len_list1):
        for y in range(len_list):
            print(spam[y][x], end='')
        print()

spam =  [['.', '.', '.', '.', '.', '.'],
        ['.', 'O', 'O', '.', '.', '.'],
        ['O', 'O', 'O', 'O', '.', '.'],
        ['O', 'O', 'O', 'O', 'O', '.'],
        ['.', 'O', 'O', 'O', 'O', 'O'],
        ['O', 'O', 'O', 'O', 'O', '.'],
        ['O', 'O', 'O', 'O', '.', '.'],
        ['.', 'O', 'O', '.', '.', '.'],
        ['.', '.', '.', '.', '.', '.']]

gridJoin(spam)

# 运行结果
..OO.OO..
.OOOOOOO.
.OOOOOOO.
..OOOOO..
...OOO...
....O....
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: python