Python for循环 基础知识篇(重要)
2016-06-20 18:10
260 查看
今天又被自己shock到了,原来以为对range的理解蛮熟悉了......今天小测试一做又不行了,来看题目
codecademy上面要求打印一个以“O”为元素的5×5矩阵,第一要求是先打印5遍“O”,并声称5列
正确代码如下
board = []
for x in range(0, 5): #一开始完全没看懂为什么要取个range(0,5)
board.append(["O"] * 5) #这执行语句里面完全没有x的踪迹啊,和前面学的根本不一样......前面学的里面执行语句里面都有for后面的元素x的
后来翻了些资料,感觉应该是这样的.
for x in range(0,5) 其实是历遍了[0,1,2,3,4],生成5个x,而对应每一次的x,都执行了一遍board.append这个功能!!!
什么意思呢?就是其实对于x来说,出不出现在下面的循环语句中,根本无所谓,可有可无,他背后实际上是提供了一个控制循环数量的功能啊啊啊啊啊啊啊!!!
另外,其实你不用range,也没问题,只要元素数量可以提供给前面的x,就能控制循环次数,来看下面自己做的测试
board = []
for x in [3,4,5]:
board.append(["O"] * 5)
print (board)
这个打印出的结果是如下
[['O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O']]
看到没?x对应了3次生成,所以执行了语句3遍........
甚至说!!!
board = []
for x in 'range':
board.append(["O"]*5)
print (board)
in后面是一个字符串'range',他实际也是可以提供5个元素'r' 'a' 'n' 'g' 'e',同样,提供了5次循环数量的控制!!
打印结果为
[['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 循环功能,强大....
codecademy上面要求打印一个以“O”为元素的5×5矩阵,第一要求是先打印5遍“O”,并声称5列
正确代码如下
board = []
for x in range(0, 5): #一开始完全没看懂为什么要取个range(0,5)
board.append(["O"] * 5) #这执行语句里面完全没有x的踪迹啊,和前面学的根本不一样......前面学的里面执行语句里面都有for后面的元素x的
后来翻了些资料,感觉应该是这样的.
for x in range(0,5) 其实是历遍了[0,1,2,3,4],生成5个x,而对应每一次的x,都执行了一遍board.append这个功能!!!
什么意思呢?就是其实对于x来说,出不出现在下面的循环语句中,根本无所谓,可有可无,他背后实际上是提供了一个控制循环数量的功能啊啊啊啊啊啊啊!!!
另外,其实你不用range,也没问题,只要元素数量可以提供给前面的x,就能控制循环次数,来看下面自己做的测试
board = []
for x in [3,4,5]:
board.append(["O"] * 5)
print (board)
这个打印出的结果是如下
[['O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O']]
看到没?x对应了3次生成,所以执行了语句3遍........
甚至说!!!
board = []
for x in 'range':
board.append(["O"]*5)
print (board)
in后面是一个字符串'range',他实际也是可以提供5个元素'r' 'a' 'n' 'g' 'e',同样,提供了5次循环数量的控制!!
打印结果为
[['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 循环功能,强大....
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例