Python 中的循环语句 for 和 while

156 阅读2分钟

while 循环语句

while 语句 只要条件为真,while 就会一直重复执行那段代码块。

while 条件表达式:
  代码块

这里的代码块,指的是缩进格式相同的多行代码,不过在循环结构中,它又称为循环体。

while 循环语句执行流程示意图

# 循环的 初始条件
total = 10
print('循环开始')

# 当 total 的值大于5的时候, 就会一直执行循环体的代码, 当小于5 条件不成立, 就退出循环
while total > 5:
    print('现在的总数为: {}'.format(total))
    # 迭代语句
    total -= 1

print('循环结束')

# 循环开始
# 现在的总数为: 10
# 现在的总数为: 9
# 现在的总数为: 8
# 现在的总数为: 7
# 现在的总数为: 6
# 循环结束

注意:

在使用 while 循环时,一定要保证循环条件有变成假的时候,否则这个循环将成为一个死循环。所谓死循环,指的是无法结束循环的循环结构

total = 0
while total < 5:
    print('现在的总数为: {}'.format(total))
    # 注释掉这段代码后, total的值 一直都是0, 
	# 永远不可能大于 5, 所以循环一直执行, 造成死循环
    # total += 1

while 循环使用 else 语句

如果 while 后面的条件语句为 false 时,则执行 else 的语句块。

while False:
	print('False')
else:
	print('else')

for 循环语句

for 循环,它常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素。

语法格式

for 迭代变量 in 字符串|列表|元组|字典|集合:
  	代码块

格式中,迭代变量用于存放从序列类型变量中读取出来的元素,所以一般不会在循环中对迭代变量手动赋值;代码块指的是具有相同缩进格式的多行代码(和 while 一样),由于和循环结构联用,因此代码块又称为循环体。

for 循环语句的执行流程图

for 循环遍历字符串

str = '从入门到放弃'
for i in str:
    print(i)

# 从
# 入
# 门
# 到
# 放
# 弃

for 循环添加一个 else 代码块

str = '从入门到放弃'
for i in str:
    print(i)
else:
    print('循环结束')

for 循环 累加 1 到 100

range() 函数,此函数是 Python 内置函数,用于生成一系列连续整数。

result = 0
for i in range(101):
    result += i

print(result)
# 5050

for 循环对列表进行了遍历

list_l = ['c', 'c++', 'java', 'python', 'js']
for i in list_l:
    print(i)
    
# c
# c++
# java
# python
# js

for 遍历字典

dict_d = {
    'c': 'printf("C 语言")',
    'c++': 'cout << "c++ 语言"',
    'js': 'console.log("javascript 语言")',
    'python': 'print("python 语言")'
}

直接遍历字典,和遍历字典 keys() 方法的返回值是相同的。

for i in dict_d:
    print(i)
# c
# c++
# js
# python

for i in dict_d.keys():
    print(i)
# c
# c++
# js
# python

我们还可以遍历字典 values()、items() 方法的返回值。

for i in dict_d.items():
    print(i)

# ('c', 'printf("C 语言")')
# ('c++', 'cout << "c++ 语言"')
# ('js', 'console.log("javascript 语言")')
# ('python', 'print("python 语言")')

for i in dict_d.values():
    print(i)

# printf("C 语言")
# cout << "c++ 语言"
# console.log("javascript 语言")
# print("python 语言")

break 和 continue 语句及循环中的 else 子句

break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。

continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

while 语句代码执行过程:

img

continue

n = 5
while n > 0:
    n -= 1
    if n == 2:
        continue
    print(n)
print('循环结束。')

# 输出
# 4
# 3
# 1
# 0
# 循环结束。

break

val = 0
while val < 10:
    val += 1
    if val == 5:
        print('跳出循环')
        break
    else:
        print(val)
# 1
# 2
# 3
# 4
# 跳出循环

for 语句代码执行过程:

img

continue

address = '成都市龙泉驿区成洛大道青龙湖湿地公园'
for i in address:
    if i == '大':
        print('跳出本轮循环, 继续下一轮循环')
        continue
    else:
        print(i)
        
# 成
# 都
# 市
# 龙
# 泉
# 驿
# 区
# 成
# 洛
# 跳出本轮循环, 继续下一轮循环
# 道
# 青
# 龙
# 湖
# 湿
# 地
# 公
# 园

break

address = '成都市龙泉驿区成洛大道青龙湖湿地公园'
for i in address:
    if i == '大':
        print('跳出 循环')
        break
    else:
        print(i)

# 成
# 都
# 市
# 龙
# 泉
# 驿
# 区
# 成
# 洛
# 跳出 循环

Good bye!