当前位置: 首页 > article >正文

[Python] 循环语句

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

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


http://www.kler.cn/a/7623.html

相关文章:

  • Springboot集成ElasticSearch实现minio文件内容全文检索
  • Spring Boot 启动时自动配置 RabbitMQ 交换机、队列和绑定关系
  • CSS回顾-基础知识详解
  • ffmpeg视频编码
  • 容器安装gitlab
  • 供应链管理、一件代发系统功能及源码分享 PHP+Mysql
  • 线性代数 --- 最小二乘在直线拟合上的应用与Gram-Schmidt正交化
  • 轻松实现文字转语音:推荐5款免费工具
  • 免费ChatGPT接入-国内怎么玩chatGPT
  • 线性回归算法
  • 【LeetCode: 面试题 08.01. 三步问题 | 暴力递归=>记忆化搜索=>动态规划】
  • go : 支持的设计模式
  • PyTorch随笔 - Glow: Generative Flow with Invertible 1×1 Convolutions
  • springboot(07)邮件发送(qq邮箱)
  • 大地量子与亚马逊云科技合作,为新能源业务的发展提供更多的最佳实践
  • P1010 [NOIP1998 普及组] 幂次方
  • JAVASE 继承
  • 【python+requests】接口自动化测试
  • try catch的应用
  • python--虚拟环境搭建(使用命令安装)
  • 【ESP-IDF】你好世界
  • “智慧”的大楼,为啥落地这么难?
  • Java GenericObjectPool 对象池化技术--SpringBoot sftp 连接池工具类
  • 有些人失业是必然的,AIGC使用两周后体验
  • Python 3.7 有什么新变化 - 其他语言更改新模块
  • Python中request与Requests.request与session.reauest,session.reauest实现自动关联