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(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