Python for循环 基础知识篇(重要)

今天又被自己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 循环功能,强大....







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值