【Python】06、流程控制语句

文章目录

  • 1.条件判断语句
    • [1.1 if 语句](#1.1 if 语句)
    • [2. input 函数](#2. input 函数)
    • [3.if-else 语句](#3.if-else 语句)
    • [4.if-elif-else 语句](#4.if-elif-else 语句)
  • 2.循环语句
    • [2.1 while语句](#2.1 while语句)
    • [2.2 while语句练习:](#2.2 while语句练习:)
    • [2.3 循环嵌套](#2.3 循环嵌套)
    • [2.4 break和continue](#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 条件表达式:

python 复制代码
if 条件表达式 :
      代码块
else : 
      代码块

eg:

4.if-elif-else 语句

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

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

代码执行流程:

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

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

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

eg:


2.循环语句

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

  • while循环
  • for循环

2.1 while语句

语法结构

python 复制代码
 while 条件表达式 : 
 	代码块

执行流程:

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

eg:

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

执行结果:

python 复制代码
0
1
2
3
4
5
6
7
8
9

***Repl Closed***

2.2 while语句练习:

  1. 求100以内所有奇数的和:
python 复制代码
i= 1
res = 0

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

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

结果:

python 复制代码
100以内奇数和= 2500

***Repl Closed***
  1. 获取1000以内的水仙花数
python 复制代码
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

运行结果:

python 复制代码
153
370
371
407

***Repl Closed***

2.3 循环嵌套

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

python 复制代码
i = 0

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

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

***Repl Closed***

打印乘法表:

python 复制代码
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中用来在判断或循环语句中占位的

相关推荐
PfCoder3 分钟前
C#枚举(Enum)详解
开发语言·c#·.net·winform
unique_pursuit4 分钟前
Go Context深度剖析
开发语言·后端·golang
我不是程序猿儿10 分钟前
【C】嵌入式的中断,理解
c语言·开发语言·单片机
红队it14 分钟前
【推荐算法】python游戏数据分析可视化推荐系统(完整系统源码+数据库+开发笔记+详细部署教程)✅
python·游戏·推荐算法
noravinsc16 分钟前
python 提取视频中的音频
开发语言·python·音视频
潘达斯奈基~29 分钟前
万字总结数据分析思维
数据库·python·数据分析
站大爷IP1 小时前
基于Python的情感分析与情绪识别技术深度解析
python
破刺不会编程1 小时前
Linux中的基本指令(上)
linux·运维·服务器·开发语言
青春_strive1 小时前
Qt:界面优化
开发语言·qt
Tadecanlan1 小时前
[C++面试] 对通透比较器了解多少?(较少涉及,可跳过)
开发语言·c++