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

【Python】06、流程控制语句

文章目录

  • 1.条件判断语句
    • 1.1 if 语句
    • 2. input 函数
    • 3.if-else 语句
    • 4.if-elif-else 语句
  • 2.循环语句
    • 2.1 while语句
    • 2.2 while语句练习:
    • 2.3 循环嵌套
    • 2.4 break和continue

通过流程控制语句,可以改变程序的执行顺序,也可以让指定程序反复执行多次。
流程控制语句分类:

  • 条件判断语句
  • 循环语句

1.条件判断语句

1.1 if 语句

if语句是常见的条件判断语句

语法格式:if 条件表达式 :语句
默认情况下,if语句只会控制紧随其后的那条语句,
如果希望控制多条语句,可以使用代码块(即在冒号后另起一行,带有一个缩进)

代码块

执行流程:if语句在执行时,先对条件表达式进行求值判断,
如果为True,则执行if后的语句,如果为False,则不执行

注意
在if的条件表达式中可以使用逻辑运算符连接多个条件

缩进的方式

  1. 一种使用Tab键,一种使用空格(4个)
  2. Python的官方文档中推荐使用空格来缩进
  3. Python代码中使用的缩进方式必须统一

为了统一缩进方式,可以在sublime中设置按Tab键时生成4个空格
设置步骤:
首选项-设置,在弹出的文档中搜索 translate_tabs_to_spaces,将这个值设置为true

2. input 函数

该函数用来获取用户的输入

  1. input()函数调用后,程序会立即暂停,等待用户输入。用户输入完成后,点击回车程序才会继续执行
  2. input函数中可以设置一个字符串参数,这个字符串将会作为提示文字显示
  3. 用户输入完成后,输入的内容会以返回值的形式返回

在这里插入图片描述
在这里插入图片描述

注意: input的返回值是一个字符串,如果输入的是数字类型,接收的时候需要做类型转换

3.if-else 语句

语法结构:if-else 条件表达式:

if 条件表达式 :
      代码块
else : 
      代码块

eg:
在这里插入图片描述
在这里插入图片描述

4.if-elif-else 语句

多条件判断语句,语法结构如下:

if 条件表达式 : 
	代码块
elif 条件表达式 : 
	代码块
elif 条件表达式 : 
	代码块
	.
	.
	.
else : 
	代码块

代码执行流程:

if-elif-else 语句在执行时,会自上而下一次对条件表达式进行求值判断,

  • 如果表达式的结果为True,则执行当前代码块,然后语句结束
  • 如果表达式结果为False,则继续向下判断,直到找到True为止
  • 如果所有的表达式都是False,则执行else后的代码块

if-elif-else语句只有一个代码块会被执行

eg:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.循环语句

循环语句可以指定的代码块重复指定的次数,循环语句分为:

  • while循环
  • for循环

2.1 while语句

语法结构

 while 条件表达式 : 
 	代码块

执行流程:

  • while语句在执行时,会先对while后的条件表达式进行求值判断,
  • 如果判断结果为True,则执行循环体(代码块)
  • 循环体执行完毕,继续对条件表达式进行求值判断,以此类推,直到判断结果为False,则循环终止
  • 如果循环有对应的else,则执行else后的代码块
  • 循环三要素
  1. 初始化表达式,通过初始化表达式初始化一个变量
  2. 条件表达式,用来设置循环执行的条件
  3. 更新表达式,修改初始化变量的值

eg:

# 1.初始化表达式
i = 0
# 2.条件表达式,设置循环执行条件
while i < 10 :
	print(i)
	# 3.更新表达式,修改初始化值
	i += 1

执行结果:

0
1
2
3
4
5
6
7
8
9

***Repl Closed***

2.2 while语句练习:

  1. 求100以内所有奇数的和:
i= 1
res = 0

while i < 100 :
		res += i
		i += 2

print('100以内奇数和=',res)

结果:

100以内奇数和= 2500

***Repl Closed***

  1. 获取1000以内的水仙花数
i = 100

while i < 1000 :
	# 百位数
	a = i // 100
	# 十位数
	b = (i - a * 100) // 10
	# 个位数
	c = i % 10

	# 执行判断
	if a ** 3 + b ** 3 + c ** 3 == i :
		print(i)
	i += 1

运行结果:

153
370
371
407

***Repl Closed***

2.3 循环嵌套

循环嵌套时,外层循环每执行一次,内层循环就要执行一圈

i = 0

while i < 5 : 
    j = 0
    while  j < i + 1 : 
        print('*',end='')
        j += 1
    print()
    i += 1

# 结果
*
**
***
****
*****

***Repl Closed***

打印乘法表:

user_input = int(input('请输入乘法表大小:'))

if user_input > 0 : 
    # 表示行
    i = 1
    #表示列
    # j = 1

    while i < user_input : 
        j = 1
        while j <= i : 
            print(f'{j}*{i}={j * i}',end=' ')
            j += 1
        print()
        i += 1

# 结果:

请输入乘法表大小:10
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 

***Repl Closed***

2.4 break和continue

  • break可以用来立即退出当前循环(退出内层循环,如果外层有循环会继续执行)
  • continue 表示跳过当次,执行下一次循环

break和continue都是针对距离最近的循环起作用

  • pass

pass在Python中用来在判断或循环语句中占位的


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

相关文章:

  • 深入理解 MySQL 锁:基于 InnoDB 的并发控制解析
  • stm32 蓝桥杯 物联网 独立键盘的使用
  • LeetCode - #227 基于 Swift 实现基本计算器
  • angular 使用webpack-bundle-analyzer分析包
  • 行为模式---策略模式
  • 【Java进阶学习 第七篇】窗体与监听
  • 【数据挖掘】通过心脏病数据案例熟悉数据挖掘的完整过程
  • Python数据分析之数据可视化
  • WorkTool 技术解析:企业微信自动化办公的合规实现方案
  • Flow-matching论文阅读
  • Leetcode 909: 蛇梯棋(Snakes and Ladders)
  • 【项目】负载均衡式在线OJ
  • 5G工业路由器赋能无人码头,港口物流智能化管理
  • Towards Universal Fake Image Detectors that Generalize Across Generative Models
  • 【Spring 事件机制】
  • 《云原生监控体系构建实录:从Prometheus到Grafana的观测革命》
  • java如何在linux服务器创建文件excel并把循环插入每一行的后端查出来的数据,每天新建一个excel带时间的
  • MySQL数据库的相关语句
  • 船舶制造内检革新 内检实验室LIMS系统如何破局行业痛点
  • Git使用(二)--如何配置 GitHub 远程仓库及本地 Git 环境