Python基础-10循环语句

10.循环语句

    对于循环语句,Python仅提供了whilefor两个,并未像其他编程语言一样提供for...each/do...while/while...do等。

10.1 while循环

    while在Python中的基本格式如下所示:

while condition:
    doSomething

    示例代码如下所示:

startNum,endNum=0,5
while startNum< endNum:
    print(f"cur start number is {startNum}")
    startNum+=1

输出结果如下所示:

cur start number is 0
cur start number is 1
cur start number is 2
cur start number is 3
cur start number is 4

10.2 for循环

1.基本for循环

    在Python中for循环的基本格式如下所示:


for item in [列表、元组、字典、集合、字符等]:
   doSomething

    示例代码如下所示:

a={1,2,3,4,5}
for item in a:
    print(f"current item is {item}")

输出结果如下所示:

current item is 1
current item is 2
current item is 3
current item is 4
current item is 5

2.for..else循环

    for...else表示for中的循环正常完成之后,再运行else中的语句。其基本语法格式如下所示:

for item in [列表、元组、字典、集合、字符等]:
   doSomething
else:
   doSomething

    有时候我们需要判断程序循环是否正常退出,还是中途退出,可以使用下面的代码:

a = [1, 2, 3, 4]
flag = True
for i in a:
    if i == 2:
        flag = False
        break

if flag:
    print('yes')
else:
    print('no')

    针对以上这种写法,可以使用for...else来简化写法,如下所示:

a = [1, 2, 3, 4]
for i in a:
    if i == 2:
        break
else:
    print('yes')

print('no')

    既然Python提供了两种形式的循环语句,那两者有什么区别,何时采用while循环,何时采用for循环了?

当循环迭代次数不确定时,使用while循环,循环迭代次数确定时,使用for循环

10.3 中断语句

    在使用循环语句时,当满足某个条件之后,循环则会自动停止,但如果想提前退出循环时,则可以使用中断语句,常用的中断语句为

  • break:中断整个循环,即满足条件时,则立即中止循环,后续循环不再继续
  • continue:中断本次循环,即满足条件后,则中止当前的循环,后续满足条件时继续循环

    示例代码如下所示:

print("break 循环")
for i in range(6):
    if i == 3:
        break
    print(f"current value is {i}")
print("continue 循环")
for i in range(6):
    if i == 3:
        continue
    print(f"current value is {i}")

输出结果如下所示:

break 循环
current value is 0
current value is 1
current value is 2
continue 循环
current value is 0
current value is 1
current value is 2
current value is 4
current value is 5

10.4 遍历容器类数据

1.range()函数

    range()函数常用于生成一系列的数字,其基本使用格式如下所示:

range(start,end,step)
  • start:开始值
  • end:结束值
  • step:为步长,可以为正值,也可以为负值,也可以省略,当省略时,默认步长为1
  • 使用range()函数生成数据,也遵循含前不含后,如range(0,3),生成的数据为0,1,2

    示例代码如下所示:

list(range(0,10,2))
# 输出结果
[0, 2, 4, 6, 8]

list(range(10,0,-2))
# 输出结果
[10, 8, 6, 4, 2]

2.遍历字符串数据

    字符串可以看成是很多单个字符组成的一串数据,因为也是可以进行迭代循环的,示例如下所示:

for i in "abcdef":
    print(f"current char is {i}")

输出结果如下所示:

current char is a
current char is b
current char is c
current char is d
current char is e
current char is f

3.遍历元组

    示例代码如下所示:

for i in tuple(range(0,5)):
    print(f"current value is {i}")

输出结果如下所示:

current value is 0
current value is 1
current value is 2
current value is 3
current value is 4

4.遍历列表

    示例代码如下所示:

for i in list(range(0,5)):
    print(f"current value is {i}")

输出结果如下所示:

current value is 0
current value is 1
current value is 2
current value is 3
current value is 4

5.遍历集合

    示例代码如下所示:

for i in set(range(0,5)):
    print(f"current value is {i}")

输出结果如下所示:

current value is 0
current value is 1
current value is 2
current value is 3
current value is 4

6.遍历字典
    示例代码如下所示:

dic={
    "a":1,
    "b":2,
    "c":3,
    "d":4,
}

for k,v in dic.items():
    print(f"key is {k} , value is {v}")

输出结果如下所示:

key is a , value is 1
key is b , value is 2
key is c , value is 3
key is d , value is 4

本文地址:https://www.cnblogs.com/surpassme/p/12975408.html
本文同步在微信订阅号上发布,如各位小伙伴们喜欢我的文章,也可以关注我的微信订阅号:woaitest,或扫描下面的二维码添加关注:
MyQRCode.jpg

原文地址:https://www.cnblogs.com/surpassme/p/12975408.html