练习1:逗号代码

假定有下面这样的列表:

spam = ['apples', 'bananas', 'tofu', 'cats']

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

#-*-coding:utf-8-*-#将列表各元素转换为字符串并以规定的形式连接返回
#例如输入spam = ['apples', 'bananas', 'tofu', 'cats'
# 则返回值为:'apples, bananas, tofu, and cats'
def listToStr(inputList):ListLen=len(inputList)s=''if ListLen == 0:           #注意转换为字符串形式输出return 'The input is empty'elif ListLen == 1 :return str(inputList[0])else:for i in range(ListLen-1):s = s + str(inputList[i]) + ','s = s + 'and ' + str(inputList[-1])return s#考虑各种输入的情况
# spam = ['apples','bananas','tofu','cats']
# spam = []
# spam = [1,2]
# spam = [1,2,3,4,5,6,7]#输入列表元素
spam = []
while True:print('please enter an element of List'   #依次输入列表元素,以空格回车结束' (Or enter nothing to stop):')      #注意考虑各种输入情况name = input()if name == '':breakspam +=  [name]output = listToStr(spam)
print(output)

练习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 关键字参数。

#-*-coding:utf-8-*-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', '.', '.', '.'],['.', '.', '.', '.', '.', '.']]ListRow = len(grid)
ListCol = len(grid[0])for i in range(ListCol):for j in range(ListRow):print(grid[j][i],end='')print()

python实践项目(二)相关推荐

  1. python实践项目-shop

    python实践项目-shop 练习 文件打开/保存 cmd应用 prettytable 场景 使用CMD程序,实现商店管理 python3+pycharm 源码 getPicke.py 初始化PIC ...

  2. Python实践项目——LSB隐写术

    一.项目背景 1.隐写术 隐写术是一门关于信息隐藏的技巧与科学,所谓信息隐藏指的是不让除预期的接收者之外的任何人知晓信息的传递事件或者信息的内容. 2.LSB 隐写术 LSB 隐写术是一种图像隐写术技 ...

  3. python实践项目(九)

    项目:将一个文件夹备份到一个 ZIP 文件 假定你正在做一个项目,它的文件保存在C:\AlsPythonBook 文件夹中.你担心工作会丢失, 所以希望为整个文件夹创建一个ZIP 文件, 作为&quo ...

  4. python实践项目(七)

    项目1:生成随机的测验试卷文件 假如你是一位地理老师,班上有35 名学生, 你希望进行美国各州首府的一个小测验.不妙的是,班里有几个坏蛋,你无法确信学生不会作弊.你希望随机调整问题的次序, 这样每份试 ...

  5. python实践项目(八)

    项目:将带有美国风格日期的文件改名为欧洲风格日期 假定你的老板用电子邮件发给你上千个文件,文件名包含美国风格的日期(MM-DD-YYYY),需要将它们改名为欧洲风格的日期(DD-MM-YYYY).手工 ...

  6. python实践项目(五)

    参考书目:<Python编程快速上手-让繁琐工作自动化>,下载地址:我是下载链接,请点击 练习1:口令保管箱 你可能在许多不同网站上拥有账号,每个账号使用相同的口令是个坏习惯.如果这些网站 ...

  7. python实践项目(四)

    练习1:好玩游戏的物品清单 你在创建一个好玩的视频游戏.用于对玩家物品清单建模的数据结构是一个字典.其中键是字符串,描述清单中的物品,值是一个整型值,说明玩家有多少该物品.例如,字典值{'rope': ...

  8. python实践项目(一)

    Collatz 序列:        要求1:编写一个名为 collatz()的函数,它有一个名为 number 的参数.如果参数是偶数,那么 collatz()就打印出 number // 2, 并 ...

  9. python实践项目(十一)

    1.从图像网站下载 编写一个程序,访问图像共享网站,如 Flickr 或 Imgur,查找一个类型的照片,然后下载所有查询结果的图像.可以编写一个程序,访问任何具有查找功能的图像网站. #-*-cod ...

最新文章

  1. Mac无损音乐播放器Audirvana plus
  2. VS2013+openCV3.0无脑配置方法+解决警告问题【windows平台】
  3. ui设计卡片阴影_UI设计形状和对象基础知识:阴影和模糊
  4. java基础入门答案谭晓芳,原理+实战讲解
  5. 2019大数据课程_根据数据,2019年最佳免费在线课程
  6. 码云怎么创建公开的仓库_使用码云或GitHub搭建简单的个人网站(补充hexo搭建博客)...
  7. 为facebook添加html/iframe页面 Create A Facebook Landing Page (Static HTML / iFrame)
  8. Dirichlet Process 和 Dirichlet Process Mixture模型
  9. php 无刷新上传,php 无刷新上传文件的代码
  10. [LeetCode]41.First Missing Positive
  11. arcgis api for js实现克里金插值渲染图--不依赖GP服务
  12. 详解BSCI实验一、配置EIGRP 验证,汇总
  13. 新电脑配置不低却还是卡顿,你知道原因吗?
  14. V4L2驱动的移植与应用(二)
  15. 如何清除计算机的u盘使用记录,如何清除U盘使用痕迹
  16. 计算机弹出虚拟U盘,怎么设置vmware虚拟机U盘启动
  17. 计算机显示适配器禁用了电脑黑屏,Win10电脑禁用集成显卡后黑屏如何解决_Win10系统禁用集成显卡后黑屏解决方案...
  18. 一文详解大小功率MOS管,你不知道的都在这里
  19. 我跟敏捷开发的故事--三面墙
  20. java的图片上传详解

热门文章

  1. 【转贴】没有div没有float没有clear没有hack的超强CSS布局
  2. 2007年河南湖北各市GDP
  3. php 最大限制,php – ModSecurity最大发布限制(PCRE限制错误)
  4. java后端需要注意的事项_【后端开发】Java中关于null的含义以及使用中要注意的事项...
  5. emq 重启_EMQ集群
  6. pb dw graph增加series_如何快速增加tiktok视频的播放量
  7. java共同方法_java-现有公共方法的NoSuchMethodError
  8. HALCON 21.11:深度学习笔记---语义分割/边缘提取(12)
  9. HALCON 21.11:深度学习笔记---模型(8)
  10. android scrollow嵌套listview,excel 中IDEX和MATCH函数嵌套应用.doc