您的位置:首页 > 编程语言 > Python开发

Python编程快速上手 4.10实践项目菜鸟心得

2018-01-25 13:38 507 查看

4.10.1 逗号代码

假定有下面这样的列表:
spam = ['apples', 'bananas', 'tofu', 'cats']

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

def listpara(listName):
spam = ''
for i in range(len(listName) - 1):
spam = spam + str(listName[i]) + ','
spam = spam + 'and ' + str(listName[len(listName) - 1])
return spam

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

如想验证结果,可在末尾print(example)。

4.10.2 字符图网络

 假定有一个列表的列表,内层列表的每个值都是包含一个字符的字符串,像这样:

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坐标增加。
 复制前面的网格值,编写代码用它打印出图像。

..00.00..
.0000000.
.0000000.
..00000..
...000...
....0....


提示: 你需要使用循环嵌套循环
 而且,如果你不希望在每次 print()调用后都自动打印换行,记得向 print()传递 end关键字参数。

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','.','.','.'],
['.','.','.','.','.','.'],]

for i in range(6):
for j in range(8):
print(grid[j][i],end = '')
print(grid[8][i])


 起初我是在外层循环加了一个判断 i 不为0就打印换行的语句,可是实际运行过程中却发现效果并不理想,
两行字符间总会多一行空格,经过几次尝试最终另辟蹊径。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python3