登录

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}就是要重复执行的代码

循环结构
准确率:36.84%
填空题
ID:36
for i in range(3):
	print(i,end=' ')

程序会输出

[0/1]

不用 for 也可以

不用 for 也可以,因为 for 语句只是实现了代码片段的重复执行,例如以下示例程序对比了用 for 和不用 for 的区别。

:

for i in range(1,11):
	print(i, i*i)

所以,虽然不用 for 也可以,但是能用 for 的情况下,肯定会用 for。

range 函数

range 函数是 for 的最佳拍档,因为它可以按照我们的需求去生成一组序列,而不用手动创建序列。

:

for i in range(1,11):
	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(5,1,-1)会生成[5,4,3,2]这组序列。

#range生成的序列,转成列表list后才能输出,之后会讲到
print(list(range(10)))
print(list(range(1,10)))
print(list(range(1,10,2)))
print(list(range(2,10,2)))

循环结构
准确率:68.25%
填空题
ID:40
for i in range(1,9,2):
	print(i,end=' ')

程序会输出

[0/1]

循环结构
准确率:80.43%
填空题
ID:44
for i in range(1,4):
	print(i+1,end=' ')

程序会输出

[0/1]

循环结构
准确率:71.15%
填空题
ID:45
for i in range(4,1,-1):
	print(i,end=' ')

程序会输出

[0/1]

登录