Python的while循环和for循环

目录

1. while循环

2. for-in循环

1)语句格式为:

2)for-in循环遍历列表和元组

3)for-in循环遍历字典

4)for表达式

3. 控制循环结构

1)使用 break 结束循环

2)使用 continue 结束本次循环

3)使用 return 结束函数


循环语句可能包含以下四部分:

1)初始化语句:用于完成一些初始化工作,在循环开始之前执行;

2)循环条件:bool型表达式,判断是否执行循环体;

3)循环体:循环执行的代码块;

4)迭代语句:控制循环条件中的变量;

1. while循环

1)语句格式

初始化语句
while 循环条件:
    循环语句块
    迭代语句(改变循环条件变量控制循环结束)

2. for-in循环

for-in循环专门用于遍历范围、列表、元组和字典等可迭代对象包含的元素;

什么是可迭代对象呢?就是对象中包含了一个 _iter_ 方法,且该方法的返回值对象具有next()方法;

1)语句格式为:

for 变量 in 字符串|范围|集合等:
    循环语句块

for-in循环中的变量的值是在每次循环开始前自动被赋值,因此程序中不应该在循环体内对该变量赋值;

2)for-in循环遍历列表和元组

列表和元组有几个元素,循环体就执行几次,且循环变量依次被赋值为各元素的值;

list_1 = list(range(10, 15))
# [10, 11, 12, 13, 14]
for i in list_1:
    print(i)
# 10
# 11
# 12
# 13
# 14

3)for-in循环遍历字典

使用for-in循环遍历字典也是通过遍历列表来实现的;

items()、key()、values():分别用于获取字典中的所有key-value对、所有key、所有value值,分别返回dict_items、dict_keys、dict_values三个对象;

dict_1 = {"语文": 90, "数学": 80, "英语": 70, "物理": 60}
for key, value in dict_1.items():
    print(key, value)
# 语文 90
# 数学 80
# 英语 70
# 物理 60
for key in dict_1.keys():
    print(key, end=" ")
print( )
# 语文 数学 英语 物理
for value in dict_1.values():
    print(value, end=" ")
# 90 80 70 60 

注:获取所有key-value对时,需要两个循环变量分别获取key和value;

4)for表达式

用于利用其他区间、元组、列表等可迭代对象创建新的列表

语法格式:

[表达式 for 循环计数器 in 可迭代对象]

 循环计数器依次被赋值为可迭代对象中的元素,可迭代对象有多少个元素,for前面的表达式就运行几次;

如果在可迭代对象后面加入if条件,表达式只有在if条件判断正确的时候才执行;

list_1 = list(range(1, 10))
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
list_new = [2*i for i in list_1]
print(list_new)
# [2, 4, 6, 8, 10, 12, 14, 16, 18]
list_new_2 = [2*i for i in list_1 if i % 2 == 0]
print(list_new_2)
# [4, 8, 12, 16]

for表达式也可以循环嵌套:

list_1 = [(i, j) for i in range(0, 5) for j in range(0, 5)]
print(list_1)
# [(0, 0), (0, 1), (0, 2), (0, 3), (0, 4), 
# (1, 0), (1, 1), (1, 2), (1, 3), (1, 4), 
# (2, 0), (2, 1), (2, 2), (2, 3), (2, 4), 
# (3, 0), (3, 1), (3, 2), (3, 3), (3, 4), 
# (4, 0), (4, 1), (4, 2), (4, 3), (4, 4)]

3. 控制循环结构

1)使用 break 结束循环

完全结束一个循环,跳出循环体;

for i in range(1, 10):
    print(i, end=" ")
    if i==5:
        break
# 1 2 3 4 5 

2)使用 continue 结束本次循环

for i in range(1, 10):
    if i == 5:
         continue
    print(i, end=" ")
# 1 2 3 4 6 7 8 9     没有输出5

3)使用 return 结束函数

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值