for 语句
for 语句示例
示例程序:输出 1-10 的平方数。
for i in range(1,11):
print(i, i*i)
for 语句一般形式
for {variable} in {sequence}:
{statements}
{sequence}
是一组的序列的意思,在示例程序中,range(1,11)
会生成[1,2,3,4,5,6,7,8,9,10]
这一组序列{variable}
是存储序列中的元素的变量,在示例程序中,就会分别存储 1,2,3,4,5,6,7,8,9,10{statements}
就是要重复执行的代码
不用 for 也可以
不用 for 也可以,因为 for 语句只是实现了代码片段的重复执行,例如以下示例程序对比了用 for 和不用 for 的区别。
:: code-group
用for
for i in range(1,11):
print(i, i*i)
不用for
print(1, 1*1)
print(2, 2*2)
print(3, 3*3)
print(4, 4*4)
print(5, 5*5)
print(6, 6*6)
print(7, 7*7)
print(8, 8*8)
print(9, 9*9)
print(10, 10*10)
:: 所以,虽然不用 for 也可以,但是能用 for 的情况下,肯定会用 for。
range 函数
range 函数是 for 的最佳拍档,因为它可以按照我们的需求去生成一组序列,而不用手动创建序列。 :: code-group
用range
for i in range(1,11):
print(i, i*i)
不用range
for i in [1,2,3,4,5,6,7,8,9,10]:
print(i, i*i)
::
range 函数的一般形式
range(start,end,step)
- start 是开始点(可以不写,默认是 0)
- end 是结束点(结束点是取不到的)
- step 是步长(可以不写,默认是 1)
错误
range 左开右闭 range 函数一定要记住左取右不取的原则,这是初学者最容易犯错的地方!
例如range(1,4)
,只能从 1 开始,取到 4 的前面一个,也就是 3,最终只能取到 1,2,3,而不能取到 4!
range 函数的应用非常灵活,()里可以的三个参数可以自由填写
range(10)
会生成0,1,2,3,4,5,6,7,8,9这组序列。range(1,10)
会生成1,2,3,4,5,6,7,8,9这组序列。range(1,10,2)
会生成1,3,5,7,9这组序列。range(2,10,2)
会生成2,4,6,8这组序列。
#range生成的序列,转成列表list后才能输出,之后会讲到
print(list(range(10)))
print(list(range(1,10)))
print(list(range(1,10,2)))
print(list(range(2,10,2)))
循环结构
for i in range(5):
if i % 2 == 1:
continue
print(i*i)
程序会输出?
[0/1]
循环结构
i = 1
while i <= 10:
if i*i >= 20:
break
print(i,end=' ')
i += 1
程序会输出?
[0/1]
循环结构
i = 1
while i <= 3:
print(i+1,end=' ')
i += 1
程序会输出?
[0/1]
列表
nums = [0,1,2]
for i in nums[::-1]:
print(i,end=' ')
程序会输出?
[0/1]
循环结构
for i in range(3):
print(i,end=' ')
程序会输出?
[0/1]
上一章
iterative 下一章
while On This Page