[Python] 循环语句

本文介绍了Python中的两种主要循环语句——while和for循环,包括它们的语法格式、使用示例和控制循环的技巧。while循环在条件为真时重复执行代码,for循环常用于遍历序列。文中还提到了range()函数在for循环中的应用,以及如何使用break和continue来控制循环流程。此外,文章展示了while和for循环的嵌套使用,如输出九九乘法表。
摘要由CSDN通过智能技术生成

循环语句就是在符合条件的情况下,重复执行一个代码段 

1.while循环

while语句可用于在条件为真时反复执行代码块 

语法格式

while 条件语句:
    执行语句

当条件语句为真(True)时,就会执行while循环下的语句 

示例

实现1到100 的累加并输出求和结果

sum = 0
i = 1
while i <= 100:
    sum = sum+i
    i = i + 1

# 5050
print(sum)

提示Tips

① Python没有 i++或 i--这种自增或自减运算符,需要使用 i = i + 1或者 i = i - 1进行替代

② while循环必须要设置循环终止的条件,否则会陷入死循环

不过我们可以使用死循环来确保用户输入自己的名字

name = ''
while not name or name.isspace():
    name = input('Please enter your name: ')

print('Hello, {}!'.format(name))

while循环也可以进行嵌套使用

示例

使用while循环输出九九乘法表

i = 0
while i <= 9:
    j = 1
    while j <= i:
        print(f"{j}*{i}={j*i}\t", end = ' ')
        j = j + 1
    i = i + 1
    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  

2.for循环

语法格式

for <variable> in <sequence>:
    <statements>

示例

使用for循环计算1-10的整数之和

sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
    sum = sum + x

# 55
print(sum)

for x in ...循环就是把列表中的每个元素代入变量 x,然后执行缩进语句sum = sum + x 

如果计算1-100的整数之和,按上述方式在列表中从1枚举到100有点困难,Python提供了一个创建范围的内置函数range()

语法格式

range(start, stop[, step])

start: 计数从 start 开始,默认是从 0 开始

stop: 计数到 stop 结束,但不包括 stop

step: 步长,默认为1,可选参数

range()函数可以生成一个整数序列,再通过list()函数可以转换为list列表的数据结构

# range(0, 5)
range(5)
# [0, 1, 2, 3, 4]
list(range(5))

示例

使用for循环计算1-100的整数之和

sum = 0
for x in range(1, 101):
    sum = sum + x

# 5050
print(sum)

我们也可以使用for循环迭代字典

dicts = {'x':1, 'y':2, 'z':3}

'''
x
y
z
'''
for key in dicts.keys():
    print(key)

'''
1
2
3
'''
for value in dicts.values():
    print(value)

'''
x corresponds to 1
y corresponds to 2
z corresponds to 3
'''
for key, value in dicts.items():
    print(key, 'corresponds to', value)

for循环语句也可以进行嵌套使用,我们将上述使用while循环输出九九乘法表替换成使用for循环实现,代码如下所示

for i in range(1,10):
    for j in range(1,i+1):
        print(f"{j}*{i}={j*i}",end='\t')
    print(" ")
print("\n")

3.跳出循环

通常循环会不断地执行代码块,直到条件为假或使用完序列中所有元素,但在有些情况下,可能会想中短循环或直接结束循环,这时我们就可以使用continue或break关键字实现跳出循环的功能

在循环过程中,可以通过continue语句,跳过当前的这次循环,直接开始下一次循环 

for循环结合continue使用 

students = ['Andy','Jack','Bob','Rita','Odin','Harry']

for i in students:
    if i == 'Rita':
        continue
    print(i)

执行结果如下所示

Andy
Jack
Bob
Odin
Harry

while循环结合continue使用  

'''
1
2
4
5
'''
n = 0 
while n < 5:
    n += 1
    if n == 3:
        continue
    print(n)

如果想要提前结束循环,可以使用break语句(在循环体内遇到break则会跳出循环,终止循环并且不论循环的条件是否为真,都不再继续循环 )

for循环结合break使用 

students = ['Andy','Jack','Bob','Rita','Odin','Harry']

for i in students:
    if i == 'Rita':
        break
    print(i)

执行结果如下所示

Andy
Jack
Bob

while循环结合break使用   

while True:
    flag = input('是否要退出程序?(y/n)')
    print(flag)
    if flag == 'y':
        break

执行结果如下所示

d6890307846d4298b9965e72f3217aa3.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值