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

python3控制流程

1 条件语句

通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

1.1 if语句

1.1.1 只使用if

  • 语法:
if 条件:执行代码
  • 示例:
str=input("请输入True/False:")
bool_value=str.capitalize()
if bool_value:print(f'bool_value is {bool_value}')print('执行以下程序')

1.1.2 if…else

  • 语法:
if 条件:执行代码1
else:执行代码2
  • 示例:
str=input("请输入一个数字:")
num=int(str)
if num%2==0:print(f'数字 {num} 是一个偶数')
else:print(f'数字 {num} 不是一个偶数')

1.1.3 if…elif…else

  • 语法:
# elif可以有n个
if 条件1:执行代码1
elif 条件2:执行代码2
else:执行代码3
  • 示例:
# and表示与	or表示或
str=input("请输入一个数字:")
num=int(str)
if num > 100 or num < 0:print('成绩错误')
elif num >= 90 and num <=100 :print('成绩优秀')
elif num >= 70 and num < 90:print('成绩良好')
elif num >=60 and num < 70:print('成绩及格')
else:print('成绩不及格')

1.1.4 if嵌套

  • 判断可以嵌套使用,但最好不要超过三层
str=input("请输入一个数字:")
num=int(str)
if num%2==0:if num%3==0:print(f'{num}可以被2整除,也可以被3整除')else:print(f'{num}可以被2整除,但不能被3整除')
else:if num%3==0:print(f'{num}不能被2整除,但可以被3整除')else:print(f'{num}不能被2整除,也不能被3整除')

1.2 match…case语句

  • Python 3.10 增加了match…case的条件判断,被称为“模式匹配”或“结构化匹配”,类似于其他语言中的switch结构。
  • match 后的对象会依次与case 后的内容进行匹配,如果匹配成功,则执行匹配到的表达式,否则直接跳过,_可以匹配一切。
  • 语法:
match subject:case <pattern_1>:<action_1>case <pattern_2>:<action_2>case <pattern_3>:<action_3>case _:<action_wildcard>
  • case _: 类似于 C 和 Java 中的default:,当其他case都无法匹配时,匹配这条,保证永远会匹配成功。

1.2.1 基本模式匹配

x=int(input('请输入一个1~3的数字:'))
match x:case 1:print(f'x is {x}')case 2:print(f'x is {x}')case 3:print(f'x is {x}')case _:print(f'{x} not true')

1.2.2 序列模式匹配

a=int(input('请输入第一个数字:'))
b=int(input('请输入第二个数字:'))
c=(a,b)
match c:case (1,2):print(f'{c}\t两个参数都匹配正确')case (x,2):print(f'{c}\t只匹配第二个参数,匹配正确')case (1,y):print(f'{c}\t只匹配第一个参数,匹配正确')case _:print('匹配失败')

1.2.3 OR模式

  • 使用 | 来表示一个或多个匹配项
year=int(input('请输入年份:'))
month=int(input('请输入月份:'))
match month:case 1 | 3 | 5 | 7 | 8 | 10 | 12:print(f'{year}年{month}月有31天')case 4 | 6 | 9 | 11:print(f'{year}年{month}月有30天')case 2:if (year%4==0 and year%100!=0) or (year%400==0):print(f'{year}年是闰年,{month}月有29天')else:print(f'{year}年不是闰年,{month}月有28天')case _:print(f'{month}不符合月份的输入要求')
1.2.4 守卫模式
  • 使用 if 在模式匹配中添加额外的条件
num=int(input('请输入一个数字:'))
match num:case num if num > 0:print(f'{num}是一个正数')case _:print(f'{num}不是一个正数')

2 循环语句

循环是程序设计语言中反复执行某些代码的一种计算机处理过程,常见的有按照次数循环和按照条件循环

2.1 while循环

  • 语法:
while 判断条件:执行语句1执行语句2......
  • 示例:
i=0
sum=0
while i<10:print(i)i=i+1sum=sum+1
print(f'循环执行了{sum}次')

2.2 for循环

  • for循环可以遍历任何可迭代对象,如一个列表或者一个字符串。
  • 语法:
for 变量 in 范围:执行语句
  • 示例:
str='abcdefg'
for s in str:print(s,end=' ')

2.2.1 range语句

  • range()是python中一个内置函数,用于生成一个整数序列。它可以用于循环中,以便按顺序访问一系列数字。
  • 遵循左开右闭原则
  • 用法1:
# range(stop)
# 生产从0开始到stop(不包括stop)的正数序列for i in range(11):print(i)
  • 用法2:
# range(start,stop)
# 生产从start开始到stop(不包括stop)的正数序列for i in range(1,10):for j in range(1,i+1):print(f'{i}*{j}={i*j}',end='\t')print()
  • 用法3:
# range(start,stop,step)
# 生产从start开始到stop(不包括stop)的正数序列,步长为stepfor i in range(-10,10,2):print(i)
# 倒序输出
for i in range(5,-1,-1):print(i)

2.2.2 break语句

  • break语句可以跳出for和while的循环体。
  • 示例:
for i in range(1,10):if i==4:breakprint(i)
print('循环结束!')

2.2.3 continue语句

  • continue语句被用来跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
for i in range(1,10):if i==4:continueprint(i)
print('循环结束!')

2.2.4 sys.exit()

  • sys.exit()用于结束整个程序
import sys
for i in range(1,10):for j in range(1,i+1):if i==4:sys.exit()print(f'{i}*{j}={i*j}',end='\t')print()

相关文章:

  • 教师办工专用 资源包|课件+手抄报+PPT模板+常用表格 PDF格式93GB
  • Java八股文——计算机网络「网络攻击篇」
  • 数据结构 6(算法)
  • 计算机网络 网络层:数据平面(一)
  • Samba
  • Spark 在小众日常场景中的实战应用:从小店数据到社区活动
  • 对gateway和nocas的理解
  • 如何利用 Java 爬虫按关键字搜索 Amazon 商品:实战指南
  • 惠普HP Laser 105a打印机信息
  • Qt数据库
  • WinUI3入门6:子线程处理UI 窗口加载后执行 获取和设置控件尺寸 自动生成事件代码框架
  • 解锁微服务潜能:深入浅出 Nacos
  • 从“看懂”到“行动”: VLM 与 VLA
  • 吃透 Golang 基础:Goroutine
  • 爱普生RX-8803LC时钟模块的特性与智能家居系统的连接方法
  • 可以媲美美颜相机的一款萌系美颜相机软件
  • 基于Uniapp+PHP的教育培训系统开发指南:网校源码实战剖析
  • 密室出逃消消乐小游戏微信流量主小程序开源
  • 【python】多次重试调用ai大模型
  • 数据结构第八章(五)-外部排序和败者树
  • 站酷设计网/11月将现新冠感染高峰
  • 扶贫基金会网站建设是哪家公司/深圳网络推广网站推广
  • 普陀区网站建设前端/大数据营销推广精准粉
  • 做公司网站怎么删除图片/谁有推荐的网址
  • 做模板网站的公司/中和seo公司
  • 网站首页是什么意思/个人seo怎么赚钱