Python

前言

  • 在代码中有的时候我们需要程序不断地重复执行某一种操作
  • 例如我们需要不停的判断某一列表中存放的数据是否大于 0,这个时候就需要使用循环控制语句
  • 这里会讲解 for 循环

python 有两种循环语句,一个是 for、一个是 while 

while 循环详解

https://www.cnblogs.com/poloyy/p/15087250.html

功能和语法

for 循环变量 in 序列:
    代码块

序列

for 语句用于遍历序列中的元素,这里所讲的序列是广义的,可以是:

  • 列表
  • 元组
  • 集合
  • range 对象

遍历列表

# 遍历列表
lis = [1, 2, 3, 4]
for i in lis:
    print(l)


# 输出结果
1
2
3
4

遍历元组

# 遍历元组
tup = (1, 2, 3, 4)
for i in tup:
    print(i)


# 输出结果
1
2
3
4

遍历集合

# 遍历集合
se = {1, 2, 3, 4}
for i in se:
    print(i)


# 输出结果
1
2
3
4

遍历字典

# 遍历字典
dic = {1: 1, 2: 2, "3": 3, "4": 4}
for i in dic:
    print(i)


# 输出结果
1
2
3
4

遍历 range

# 遍历range
for i in range(5):
    print(i)


# 输出结果
0
1
2
3
4

range() 详解:https://www.cnblogs.com/poloyy/p/15086994.html

双重循环

# 双重循环
name = ['张三', "李四", "老汪"]
score = [60, 70]
for i in name:
    for j in score:
        print("名:", i, " 分:", j)


# 输出结果
名: 张三  分: 60
名: 张三  分: 70
名: 李四  分: 60
名: 李四  分: 70
名: 老汪  分: 60
名: 老汪  分: 70

多个变量的栗子

# 多个变量
for a, b in [("张三", "80"), ("李四", "81"), ("老汪", "82")]:
    print(a, b)


# 输出结果
张三 80
李四 81
老汪 82

break、continue 详解

https://www.cnblogs.com/poloyy/p/15087598.html

  

结合 continue + if 的栗子

# continue + if
list1 = [1, 2, 3, 4, 5, 6]
sum = 0
for i in list1:
    # 如果是奇数,则跳出本次循环
    if i % 2 != 0:
        continue
    # 偶数则加上
    sum += i
print(sum)


# 输出结果
12

2+4+6 

结合 break + if 的栗子

# break + if
list1 = [1, 2, 3, 4, 5, 6]
sum = 0
for i in list1:
    # 如果是 4 ,则结束 for 循环
    if i == 4:
        break
    # 偶数则加上
    sum += i
print(sum)


# 输出结果

1+2+3

if 详解

https://www.cnblogs.com/poloyy/p/15087130.html 

在 for 循环中使用 else 语句

语法格式

for 变量 in 序列:
    代码块 1
else:
    代码块 2

当 for 循环正常完成后,会自动进入到 代码块 2 

代码栗子一

检测 number 是否会素数

  1. range(2, number) 会生成 2、3、4、5、6、7、8 的数字序列
  2. 判断 factor 是否可以被 number 整除
  3. 如果是,则 number 不是素数
  4. 如果 for 循环整除结束,就会进到 else 里面,则 number 为素数
number = 9
# 2,3,4,5,6,7,8
for factor in range(2, number):
    print(factor)
    # 9 求模 2、3、4、5、6、7、8
    if number % factor == 0:
        # factor = 3 会进到这里
        is_prime = False
        # 结束 for 循环
        break
else:
    # 素数
    is_prime = True
print(is_prime)


# 输出结果
False

代码栗子二

# else
for i in range(10):
    print(i)
    if i == 4:
        break
else:
    print("执行 else 代码块")


# 输出结果
0
1
2
3
4

重点

  • 若想执行 else 里面的代码块,必须是触达到循环条件且为假
  • 如果在循环里面提前结束了循环(break),则不会执行 else 里面的代码块
原文地址:https://www.cnblogs.com/poloyy/p/15087053.html