一,while循环

1,语法格式

定义一个计数器

while 条件:   (条件一般都为计数器)
    条件成立,循环执行的代码

    计数器+1或-1,使条件生变化,最终使循环条件不成立,避免死循环

    或者嵌套一个if语句,if条件成立的时候直接break,退出循环。也是避免死循环的方法距离

举例如下:

count = 1
while count <= 10:

    count += 1  # 一定要对计数器进行操作,使得循环条件不成立,下面的break是双重保险
    print(count)
    if count == 2:
        # continue 的作用是跳出本轮循环,不在执行后面的代码,当count为2时,不打印hello python,直接计数
        # 类似请假,今天的工作不干了,但是以后的工作还是要干的
        # 这里有要注意的点时,如果使用了continue,计数器的操作,一定要在continue上方,不然就死循环了
        continue
    print("hello, python")

    if count == 5:
        print("已经五次了,退出循环")
        # 当count为5的时候,用break关键字直接退出循环,这就是辞职,再也不干活了
        break

 

二,for循环

for循环可以变量任何一个序列项目,字典,字符串,列表等。遍历就是从头到尾,每一个成员都去访问一次,全部都要取出来。

一,列表的遍历

1,介绍range函数,

range是py的内置函数,功能是生成整数序列

起点-- 默认为0

终点-- 自己定义

步长-- 默认为1

规则-- 左闭右开

eg:

range(5)  == [0, 1, 2, 3, 4]
range(1, 5)  == [1, 2, 3, 4]
range(1, 10, 2)  ==  [1, 3, 5, 7, 9]
range(10, 1, -2)  == [10, 8 , 6, 4 ,2]

2,遍历列表

num = [1, 2, 3, 4, 5, "菜", "鸡"]

for index in range(len(num)):
    print(num[index])

 二,遍历字典

person_info = {"sex": "男", "tzh": "帅,有钱,会哄人", "age": 30}
# 1,遍历键名
for key in person_info.keys():
    print(key)

# 2,遍历值
for value in person_info.values():
    print(value)

# 3,遍历键值对
for key, value in person_info.items():
    print(key, value)

三,双重for循环

遇到双重for循环的时候,首先要梳理清楚,外层循环和内层循环的逻辑关系,再去写双重for循环,根据输出的内容,在调整语句的逻辑

方法:可以先谢谢内层的循环,观察内层循环中,哪个东西一直在变,在考虑变的跟外层循环的关系

例子:

请输出以下图形

1
 1 2
 1 2 3
 1 2 3  4第一行:输出1, range(1, 2)   行数+1
第二行: 输出1,2 range(1, 3)  行数+1
第三行:输出1,2,3 range(1,4)行数+1
第四行:输出1,2,3,4 range(1, 5) 行数+1
规律:每一行都是从1开始,结束的数字为 行号+1

每一行都要遍历

for i in range(1, 5):
    for a in range(1, i+1):  # 因为都是从1开始,
        print(a, end=" ")
    print(" ")

二,输出九九乘法表

1 * 1 = 1   
 1 * 2 = 2  2 * 2 = 4   
 1 * 3 = 3  2 * 3 = 6  3 * 3 = 9   
 1 * 4 = 4  2 * 4 = 8  3 * 4 = 12  4 * 4 = 16   
 1 * 5 = 5  2 * 5 = 10  3 * 5 = 15  4 * 5 = 20  5 * 5 = 25   
 1 * 6 = 6  2 * 6 = 12  3 * 6 = 18  4 * 6 = 24  5 * 6 = 30  6 * 6 = 36   
 1 * 7 = 7  2 * 7 = 14  3 * 7 = 21  4 * 7 = 28  5 * 7 = 35  6 * 7 = 42  7 * 7 = 49   
 1 * 8 = 8  2 * 8 = 16  3 * 8 = 24  4 * 8 = 32  5 * 8 = 40  6 * 8 = 48  7 * 8 = 56  8 * 8 = 64   
 1 * 9 = 9  2 * 9 = 18  3 * 9 = 27  4 * 9 = 36  5 * 9 = 45  6 * 9 = 54  7 * 9 = 63  8 * 9 = 72  9 * 9 = 81

观察规律:

第一行: 从1开始, 1*1=1  --1

第二行: 从1开始,  1*1=1 2*2=4  --1,2     {} * 行号 = 结果

第三行: 从1开始,1*1=1 2*3=6 3*3=9  -- 1,2,3      {} * 行号 = 结果

答案:

for row in range(1, 10):
    for col in range(1, row+1):  # 因为都是从1开始, row为行号, col为列号
        print("{} * {} = {}".format(col, row, row*col), end='  ')
    print(" ")