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

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 循环功能,强大....


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python for