python入门书 习题实操 如有错误,麻烦纠正,谢谢大佬
逗号代码
假定有下面这样的列表:
spam=[‘apples’,‘bananas’,‘tofu’,’ cats’]
编写一个函数,它以一个列表值作为参数,返回一个字符串。该字符串包含所有表项,表项之间以逗号和空格分隔,并在最后一个表项之前插入 and 。例如,将前面的spam列表传递给函数,将返回’apples,bananas,tofu,and cats’。但是你的函数应该能够传递给它的任何列表。
def comma(span1):
span2 = ''
for i in range(len(span1)-1):
span2 += (str(span[i])+', ')
span2 += ('and'+str(span1[len(span1)-1]))
print(span2)
span = ['apples','bananas','tofu','cats']
comma(span)
上面代码直接 str(span1[-1]) 也是可以的
结果如图:
字符图网络
假定有一个列表的列表,内层列表的每个值都是包含一个字符的字符串,像这样:
> grid = [ ['.', '.', '.', '.', '.','.'],
> ['.', '0', '0', '.', '.','.'],
> ['0', '0', '0', '0', '.','.'],
> ['0', '0', '0', '0', '0','.'],
> ['.', '0', '0', '0', '0','0'],
> ['0', '0', '0', '0', '0','.'],
> ['0', '0', '0', '0', '.','.'],
> ['.', '0', '0', '.', '.','.'],
> ['.', '.', '.', '.', '.','.']]
你可以认为grid[x][y]是一幅“图”在x,y坐标处的字符,该图由文本字符组成。原点(0,0)在左上角,向右x坐标增加,向下y坐标增加。
复制前面的网格值,编写代码用它打印图像。
..OO.OO..
.OOOOOOO.
.OOOOOOO.
..OOOOO..
...OOO...
....O....
(提示:你需要使用循环嵌套循环,打印出grid[0][0],然后grid[1][0],然后grid[2][1],以此类推,知道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', '.', '.', '.'],
['.', '.', '.', '.', '.', '.']]
for i in range(len(grid[1])):
for j in range(len(grid)):
print(grid[j][i],end='')
print('\t')
结果如下图:
——————————————————————————————————————————————————————————————————实操次数太少了,这次实操体验感觉自己简直就跟没学一样,无从下手。可以多看看别人的代码,提高自己对代码整体上的理解。(刚开始我也是看了别人很多不同的代码实现,然后再自己构思敲) 多多少少学习到了一点,起码认知到自己很笨。
上午还看了关于文件系统的视频,方法有点多,等自己慢慢消化,看懂了再写篇关于文件系统的总结吧!
周日总结
每周四件事,这周完成的还算可以。
加上今天 一周三篇博客日志 √
周四那天的义工 √——早上8点到晚上10点,在10度的室外站了14个钟,差点给我吹傻了,不过也算是体验人生吧。
晚上睡前看书 √——平凡的世界第二部也快刷完了
还有一周的电影 √——本周推荐 非常嫌疑犯,已经不知道是第几刷了,每次看都意犹未尽,经典就是经典,超好看的呀!