第5章 循环

108 阅读3分钟

While循环

  • while语句

    • 循环的作用就是让 指定的代码 重复的执行
    • while 循环最常用的应用场景就是 让执行的代码 按照 指定的次数 重复 执行
  • 练习:打印 5 遍 Hello Python

    遇到while语句时,首先计算表达式的值
    如果表达式的值为假,则跳过整个while语句,继续执行下面的代码;
    如果表达式的值为真,则执行循环体。
    执行完“循环体”再次计算“表达式”的值。
    如此循环往复直到“表达式”的值为假才停止循环

  • 练习:高斯求和
    计算1+2+3+……+100的和

# 高斯求和
n = 2
result = 0
while n<10001:
    result += n
    n += 2
print(result)

for

  • 语法
for 变量 in 数据序列:
    # 循环体(需要执行的操作)

Python for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。 for循环的一般格式如下:

for <variable> in <sequence>:
    <statements>
else:
    <statements>

range() 函数

  • 如果你需要遍历数字序列,可以使用内置 range() 函数。它会生成数列,例如:
for i in range(5): 
    print(i)
  • 你也可以使用 range() 指定区间的值:
for i in range(5,9) : 
    print(i)
  • 也可以使 range() 以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做'步长'):
for i in range(0, 10, 3) : 
    print(i)
  • 您可以结合 range() 和 len() 函数以遍历一个序列的索引,如下所示
a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ'] 
for i in range(len(a)): 
    print(i, a[i])
结果:
0 Google 
1 Baidu 
2 Runoob 
3 Taobao 
4 QQ 
for i in range(10):
    print('hello')
    print(i)
  • 1!+2!+3!..+n!
result2 = 0
for n in range(20):
    if n>0:
        result = 1
        for i in range(n+1):
            if i>0:
                result *= i
        print(result)
        result2 += result
print(result2)
  • break
    作用:退出循环
    注意:只能跳出距离最近的for或者while循环

在循环过程中,如果 某一个条件满足后,不 再希望 循环继续执行,可以使用 break 退出循环

n = 5
for i in range(2,n):
    if n%i==0:
        print(n,'不是质数')
        break
else:
    print(n,'是质数')
  • continue
    作用:跳过本次循环后面的剩余语句,然后继续下一次循环
    注意:只能跳过距离最近的for或者while循环
for i in range(5):
    if i==2:
        continue
    print(i)
  • pass 作用:当语句要求不希望任何命令或代码来执行时使用
    说明:
    pass语句表示一个空操作,在执行时没有任何的响应,pass的位置最终应该有代码来执行,只不过暂时写不出来

知识总结

image.png

习题

1.下列关于for循环说法正确的是? B
A. 循环变量i是从1开始的。
B. range后面括号中的数字表示循环的次数。
C. for循环语句中只能有一句下级代码。
D. 循环变量i的值是一直不变的。

2.执行这段代码,打印的结果是 B

image.png

3.下列哪个选项可以在输出区打印5遍hello?

image.png

4.执行以下代码的运行结果是(D )

image.png

  1. 以下哪个选项可以在输出区打印出以下内容( )
    0
    python
    1
    python
    2
    python

image.png

6. while循环,在给定的判断条件为True时(B)循环体,否则退出循环体。
A. 不执行
B. 执行
C. 不确定
D. 无法确定

  1. for循环是用来(A)执行语句
    A. 重复
    B. 无限
    C. 无穷 D. 不停
  1. break是在语句块执行过程中终止循环,并且(A)整个循环。
    A. 跳出
    B. 终止
    C. 执行
    D. 重复
    1. 输出 九九乘法表,格式如下:
'''
1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
...
...
1x9=9.........9x9=81
'''
for i in range(9):
    for j in range(i+1):
        print('%dx%d=%d'% (j+1,i+1,(j+1)*(i+1)),end=' ')
    print()