标签:练习题 网格 字符 问题 列表 调用 需要 list div
答:空的列表值,它是一个列表,不包含任何列表项。这类似于‘‘是空的字符串值。
答:spam[2] = ‘hello‘(注意列表中的第3个值下标是2,因为第一个值下标是0。)
对接下来的3个问题,假定spam包含列表[‘a‘, ‘b‘, ‘c‘, ‘d‘]
答:‘d‘(注意‘3‘*2是字符串‘33‘,它被传入int(),然后再除以11。这最终求值为3.在使用值的地方,都可以使用表达式)。 >>> spam=[‘a‘, ‘b‘, ‘c‘, ‘d‘] >>> spam[int(‘3‘*2)//11] ‘d‘
答:‘d‘(负数下标从末尾倒数)。
答: >>> spam [‘a‘, ‘b‘, ‘c‘, ‘d‘] >>> spam[:2] [‘a‘, ‘b‘]
对接下来的3个问题。假定bacon包含列表[3.14,‘cat‘, 11, ‘cat‘, True]
答: >>> bacon = [3.14, ‘cat‘, 11, ‘cat‘, True] >>> bacon.index(‘cat‘) 1 >>>
>>> bacon = [3.14, ‘cat‘, 11, ‘cat‘, True] >>> bacon.append(99) >>> bacon [3.14, ‘cat‘, 11, ‘cat‘, True, 99] >>>
答: >>> bacon [3.14, ‘cat‘, 11, ‘cat‘, True, 99] >>> bacon.remove(‘cat‘) >>> bacon [3.14, 11, ‘cat‘, True, 99] >>>
答:列表连接的操作符是+,复制的操作符是*(这和字符串一样)。
答:append()只会将值添加在列表的末尾,而insert()可以将值添加在列表的任何位置。
答:del语句和remove()列表方法是从列表中删除值得两种方法。
答:列表和字符串都可以传入len(),都有下标和切片,用于for循环,连接或复制,并与in和not in操作符一起使用。
答:列表是可以修改的,它们可以添加值、删除值和修改值。元组是不可修改的,它们根本不能改变。而且,元组使用的是括号,而列表使用的是方括号[]。
答:spam=(42,) 末尾的逗号是必须的。
答:分别使用tuple()和list()函数。
答:它们包含对列表值得引用。
答:copy.copy()函数将浅拷贝列表,而copy.deepcopy()函数将深拷贝列表。也就是说,只有copy.deepcopy()会复制列表内的所有列表。
作为实践,编程完成下列任务。
假定有下面这样的列表:
spam = [‘apples‘, ‘bananans‘, ‘tofu‘, ‘cats‘]
编写一个函数,它以一个列表值作为参数,返回一个字符串。该字符串包含所有表项,表项之间以逗号和空格分隔,
并在最后一个表项之前插入and。例如,将前面的spam列表传递给函数,将返回‘apples, bananas, tofu, and cats‘。
但你的函数应该能够处理传递给它的任何列表。
""" 4.10 实践项目 作为实践,编程完成下列任务。 4.10.1 逗号代码 假定有下面这样的列表: spam = [‘apples‘, ‘bananans‘, ‘tofu‘, ‘cats‘] 编写一个函数,它以一个列表值作为参数,返回一个字符串。该字符串包含所有表项,表项之间以逗号和空格分隔, 并在最后一个表项之前插入and。例如,将前面的spam列表传递给函数,将返回‘apples, bananas, tofu, and cats‘。 """ spam = [‘apples‘, ‘bananans‘, ‘tofu‘, ‘cats‘] def list_str(lst): return ‘,‘.join(lst[:-1]+[‘and ‘+lst[-1]]) a=list_str(spam) print(a)
假定有一个列表的列表,内层列表的每个值都是包含一个字符的字符串,像这样:
grid = [[‘.‘, ‘.‘, ‘.‘, ‘.‘, ‘.‘, ‘.‘],
[‘.‘, ‘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坐标增加。
复制前面的网格值,编写代码用它打印出图像。
..OO.OO..
.OOOOOOO.
.OOOOOOO.
..OOOOO..
...OOO...
....O....
提示: 你需要使用循环嵌套循环,打印出grid[0][0],然后grid[1][0],然后grid[2][0],以此类推,
直到grid[8][0]。这就完成第一行,所以接下来打印换行。然后程序将打印出grid[0][1], 然后grid[1][1],然后grid[2][1],
以此类推。程序最后打印出grid[8][5]。
而且,如果你不希望在每次print()调用后都自动打印换行,记得向print()传递end关键字参数。
#!/usr/bin/env python3 # -*- coding:utf-8 -*- # Author: davie """ 4.10.2 字符图网络 假定有一个列表的列表,内层列表的每个值都是包含一个字符的字符串,像这样: grid = [[‘.‘, ‘.‘, ‘.‘, ‘.‘, ‘.‘, ‘.‘], [‘.‘, ‘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坐标增加。 复制前面的网格值,编写代码用它打印出图像。 ..OO.OO.. .OOOOOOO. .OOOOOOO. ..OOOOO.. ...OOO... ....O.... 提示: 你需要使用循环嵌套循环,打印出grid[0][0],然后grid[1][0],然后grid[2][0],以此类推, 直到grid[8][0]。这就完成第一行,所以接下来打印换行。然后程序将打印出grid[0][1], 然后grid[1][1],然后grid[2][1], 以此类推。程序最后打印出grid[8][5]。 而且,如果你不希望在每次print()调用后都自动打印换行,记得向print()传递end关键字参数。 """ grid = [[‘.‘, ‘.‘, ‘.‘, ‘.‘, ‘.‘, ‘.‘], [‘.‘, ‘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‘, ‘.‘, ‘.‘, ‘.‘], [‘.‘, ‘.‘, ‘.‘, ‘.‘, ‘.‘, ‘.‘]] list_len=len(grid) list_col=len(grid[0]) for i in range(list_col): for j in range(list_len): print(grid[j][i],end=‘‘) print()
Python编程快速上手-让繁琐工作自动化 第四章 列表练习题及其答案
标签:练习题 网格 字符 问题 列表 调用 需要 list div
原文地址:https://www.cnblogs.com/bjx2020/p/9010845.html