概述
Python基本语法 — 分支与循环
1.流程控制
- 顺序结构(默认):代码从上往下一条一条的执行,每条只执行一次。
- 分支结构(if):执行代码时,根据条件结果,选择执行某段代码。
- 循环结构(for / while):让某段代码重复执行。
例 1.1.1:
# 顺序结构
print('hello')
print(2)
# 分支结构
age = int(input('请输入您的年龄:'))
if age <= 18:
print('成年')
# 循环结构
for _ in range(100)
print('I LOVE YOU')
2. if分支
2.1 单分支结构(if分支)
当执行代码时,满足某个条件,就执行某个操作,否则不执行该操作时,用单分支结构。
语法:if 条件:
代码段
# 当if后的条件满足时,则执行代码,否则不执行。
说明:
- if:关键字,固定写法;
- 条件语句: 可以是任何有结果的表达式,例如:数据、已经赋值过的表达式、运算表达式、函数调用表达式(赋值语句没有结果,不能作为条件语句);
- 冒号是固定写法,必须为英文;
- 代码段:与 if 保持一个缩进的一条或者多条语句,就是在满足条件的时候才会执行的代码。
执行过程:如果 xxx(条件语句)就 xxx(代码段)。先判断条件语句是否为True(如果条件语句的结果不是布尔就先转换成布尔再看),如果为True就执行代码段,否则代码段就不执行。
例2.1.1:
if 55 + 58 >= 105:
print('恭喜你', end= '')
print('答对了')
print('特别棒') # 不管上面执行结果如何,该代码段都会执行。
2.2 双分支结构(if - else分支)
当执行代码时,满足某个条件就执行某个操作,否则就执行另一个操作
语法: if 条件语句:
代码段1(满足条件要执行的代码)
else:
代码段2(条件不满足时要执行的代码)
# 两个代码段中必定有一个代码段不执行。
执行过程:如果(条件语句)就 xxx(代码段1),否则就 xxx(代码段2)
例 2.2.1:
# 根据指定整数的值打印 '奇数' 或者 '偶数'
# 方法1:
num = int(input('请输入要查询的数子'))
if num % 2 == 0:
print('偶数')
else:
print('奇数')
#方法2:运算较少,可读性较低
num = int(input('请输入要查询的数子'))
if num % 2:
print('奇数')
else:
print('偶数')
2.3 多分支结构(if - elif - else分支)
当执行代码时,根据不同的条件要执行不同的操作。
语法: if 条件1:
代码段1 # 条件1成立,则执行代码段1,后续条件不进行判断,程序直接结束。
elif 条件2:
代码段2 # 条件1不成立,条件2成立,则执行代码段,后续条件不进行判断,程序直接结束。
...
else:
代码段n # 以上条件均不成立,则执行代码段n。
# 每个条件之间单独成立,即如果一个条件成立,其他条件绝对不成立。
例 2.3.1:
# 根据分数的范围打印'优秀'、'良好'、'中等'、'及格'、'不及格'
secor1 = float(input('请输入您的成绩:'))
if not 0 <= secor1 <= 100:
print('输入错误,请重新输入!')
elif secor1 >= 90:
print('您的成绩优秀!')
elif secor1 >= 80:
print('您的成绩中等!')
elif secor1 >= 70:
print('您的成绩良好!')
elif secor1 >= 60:
print('您的成绩及格!')
else:
print('您的成绩不及格!')
# 代码尽量精简,减少冗余运算。
***特殊情况:***当多个条件之间不独立,即当一个条件成立时,其他条件也要判断成立与否,并执行相应操作,可以使用多个单分支结构组成多分支结构。
语法: if 条件1:
代码段1
if 条件2:
代码段2
...
2.4 分支嵌套(if 嵌套)
在 if 语句里面嵌套 if 语句
语法:if 条件1:
if 条件2: #条件1成立时,才会对条件2进行判定。
代码段1
else:
代码段2
例 2.4.1:
# 根据指定数的值打印 '奇数'、'偶数'、'4的倍数'
num1 = int(input('请输入要查询的数:'))
if num1 % 2 == 0:
print('该数是偶数')
if num1 % 4 == 0:
print('该数是4的倍数')
else:
print('该数是奇数')
上述显例中,当数为奇数时,该数必定不是4的倍数,因此不需要再判定。所以使用分支嵌套,减少冗余运算和判定。
3. 循环
3.1 for 循环
让一段代码重复执行多次。
语法: for 变量 in 序列:
循环体
执行过程:变量不断从序列里取值,变量每取值一次,循环体就执行一次。执行的次数只与序列中的元素个数相关。
说明:
- for :关键字,固定写法;
- 变量 :变量名,和定义变量的变量名要求相同(是标识符,但不是关键字);
- in :关键字,固定写法;
- 序列 :容器型数据类型,例如:字符串、列表、元组、字典、集合、迭代器、生成器、range等;
- :固定写法,写完序列写冒号;
- 循环体:从结构上来讲,就是和for保持一个缩进的一条或者多条语句;从逻辑上来讲,循环体就是需要重复执行的语句。
验证:
for x in '1258':
print(x, '你好')
循环过程:
第一次循环:x = ‘1’ : print(x, ‘你好’) -》 print(‘1’, ‘你好’)
第二次循环:x = ‘1’ : print(x, ‘你好’) -》 print(‘2’, ‘你好’)
第三次循环:x = ‘1’ : print(x, ‘你好’) -》 print(‘5’, ‘你好’)
第四次循环:x = ‘1’ : print(x, ‘你好’) -》 print(‘8’, ‘你好’)
循环结束!
for 循环中的重要函数:range、
range函数:系统函数,产生指定范围的数字序列
用法:
- range(N):产生 0 到 N-1的数字序列,[0, N),N为正整数;
- range(M, N):产生 M 到 N-1的数字序列,[M, N),M和N必须为整数,且 M < N;
- range(M, N , step):[M, N),步长为step(从 M 开始每次增加step)。例如:range(1, 10, 2) - 1,3,5,7,9。
例 3.1.1:
# 用法1:
for x in range(2, 5):
print(x, 555555)
# 用法2:
for x in range(8):
print(x, '--------')
# 用法3:
for x in range(1, 10, 2):
print(x, '--------')
结果:
用法1:
用法2:
用法3:
常用应用套路:
- 求和:
- 定义一个变量,用来保存最后的和;
- 使用for循环的变量依次取出需要求和的所有数据;
- 在循环中变量每取一个值,就往保存和的变量中加一个值。
例 3.1.2:
# 求1+2+3+...+100
sum1 = 0
for x in range(0, 101):
sum1 += x
print(sum1)
- 统计个数:
- 定义一个变量,用来保存最后的个数;
- 使用for循环语句依次取出需要判断的数据;
- 每有一个数据满足条件,变量值加1。
例 3.1.3:
# 统计20~100之间偶数的个数
# 方法1:
count = 0
for x in range(20, 101):
if x % 2 == 0:
count += 1
print(count)
# 方法2:
count = 0
for x in range(20, 101, 2): # 步长为2的等差序列,在当前条件下,每次取出的值偶数,减少运算。
count += 1
print(count)
4. while循环
语法:while 条件语句:
循环体
else:
代码段 # 根据情况选择是否要写
说明:
- while - 关键字、固定写法
- 条件语句 - 任何有结果的表达式
- : - 固定写法
- 循环体 - 结构上来讲,和while保持一个缩进的一个或多个语句。逻辑上来讲,需要重复执行的代码。
执行过程:
- 判断条件语句是否为True,如果为True就执行循环体;
- 执行完循环体再来判断条件语句是否为True,为True就再次执行循环体;
… - 以此类推,直到判断条件语句的时候为False,整个循环就结束。
验证:
# 验证:将'=============='打印五次
a = 0
while a < 5:
a += 1
print('==============')
验证结果:
例 4.1.1:
# 练习1:使用while循环打印数字序列:2 3 4 5 6 7 8
b = 2
while b < 9:
print(b)
b += 1
# 练习2:使用while循环打印数字序列:1 3 5 7 9
c = 1
while c < 10:
print(c)
c += 2
for循环和while循环的选择:
如果循环次数是确定的就使用for循环,否则就用while;
5. 循环关键字
5.1 continue - 结束当次循环
- continue只能出现在循环体中;
- 当执行循环体时,如果遇到continue,那么当次循环结束,直接进入下次循环的判断;
5.2 break - 结束整个循环
- break只能出现在循环体中;
- 当执行循环体时,如果遇到break,循环体直接结束
5.3 else
- else的存在不影响原循环的执行;
- 如果循环体不是遇到break而结束,则else后面的代码段就会执行;反之,则不执行。
最后
以上就是友好小蝴蝶为你收集整理的每日一结---0916分支与循环 分支与循环Python基本语法 — 分支与循环1.流程控制2. if分支3. 循环的全部内容,希望文章能够帮你解决每日一结---0916分支与循环 分支与循环Python基本语法 — 分支与循环1.流程控制2. if分支3. 循环所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复