
流程控制语句是计算机编程中用于控制程序执行流程的语句。它们允许根据条件来控制代码的执行顺序和逻辑,从而使程序能够根据不同的情况做出不同的决策。流程控制实现了更复杂和灵活的编程逻辑。
顺序语句
顺序语句是按照编写的顺序依次执行程序中的代码。代码会按照从上到下的顺序有且仅执行一次。
分支语句
根据条件的真假来选择性地执行不同的代码块。这使得程序能够根据不同的情况做出不同的响应。
循环语句
允许重复执行一段代码,以便处理大量的数据或重复的任务。循环语句可以用于多次执行相同或类似的代码块,从而实现重复操作的需求。
流程控制是编程中的基本概念之一,对于编写高效、可靠的程序至关重要。
一、 分支语句
1.1、双分支语句
双分支语句是一种编程结构,用于根据条件的真假选择不同的执行路径。它基于条件的结果,决定程序执行的部分。在许多编程语言中,双分支语句通常使用 if-else 语句来实现。
if 条件表达式: # 条件表达式为True执行的语句块# pass 语句可以占位else: # 条件表达式为False执行的语句块
其中,条件是一个表达式或逻辑判断,它的结果可以是 True(真)或 False(假)。
当条件为真时,执行代码块A,也称为 if 代码块;当条件为假时,执行代码块B,也称为 else 代码块。
双分支语句允许根据不同的条件结果执行不同的代码逻辑,从而实现程序的分支选择和条件判断。它是一种基本的控制流程结构,常用于处理二选一的情况。
age = int(input("请输入您的年龄:"))
if age >= 18:
print("进入成年模式!")
print("欧美区")
print("日韩区")
print("国产区")
else:
print("进入青少年模式!")
print("科幻冒险类")
print("益智早教类")
print("科普记录类")
print("程序结束")
score = float(input("请输入成绩:"))
if score >= 60:
print("及格")
else:
print("不及格")
year = int(input("请输入年份:"))
is_run = year % 400 == 0 or (year % 4 == 0 and year % 100 != 0)
if is_run:
print("是闰年")
else:
print(f"{year}不是闰年")
num01 = int(input("请输入一个数字:"))
num02 = int(input("请输入一个数字:"))
num03 = int(input("请输入一个数字:"))
if num01 == num02 == num03:
print("能构成等边三角形")
else:
print("不能构成等边三角形")
age = int(input("请输入一个年龄:"))
if 20 < age 35:
print("符合招聘要求")
else:
print("不符合招聘要求")
num = int(input("请输入一个数字:"))
if num % 2 == 0:
print("是偶数")
else:
print("是奇数")
重点:冒号+缩紧:标识语句块
和其它程序设计语言(如 Java、C 语言)采用大括号“{}”分隔代码块不同,Python 采用代码缩进和冒号( : )来区分代码块之间的层次。
在 Python 中,对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进,表示下一个代码块的开始,而缩进的结束则表示此代码块的结束。
注意,Python 中实现对代码的缩进,可以使用空格或者 Tab 键实现。但无论是手动敲空格,还是使用 Tab 键,通常情况下都是采用 4 个空格长度作为一个缩进量(默认情况下,一个 Tab 键就表示 4 个空格)。
1.2、单分支语句
单分支语句只包含一个条件判断和一个对应的代码块。如果条件为真,执行代码块中的语句;如果条件为假,则直接跳过代码块。
num01 = int(input("num01:"))
num02 = int(input("num02:"))
if num02 < num01:
print("较小值:", num02)
else:
print("较小值:", num01)
num01 = int(input("num01:"))
num02 = int(input("num02:"))
if num02 < num01:
num01, num02 = num02, num01
print("较小值:", num01)
1.3、多分支语句
多分支语句(if-elif-else语句)可用于在多个条件之间进行选择。
if condition1:
elif condition2:
elif condition3:
...
else:
"""
多分支语句语法
if 表达式1:
语句块1
elif 表达式2:
语句块2
elif 表达式3:
语句块3
elif 表达式4:
语句块4
elif 表达式5:
语句块5
else:
语句块6
备注: 以上是一条语句,多个判断选其一
1、上面的表达式1-5,只要有一个表达式成立,那么后面的语句都不在执行
例如:表达式1成立的同时表达式3也成立,那么只执行语句块1不会执行语句块3
2、如果上面的表达式1-5都不成立,那么就执行else语句块
"""
# 案例1:根据用户输入的成绩判断其等级。
# 如果成绩[90,100],则输出"优秀"
# 如果成绩[80,90],则输出"良好"
# 如果成绩[60,80],则输出"及格"
# 如果成绩小于60,则输出"不及格"
# 如果成绩小于0或大于100,则输出"成绩有误"
# 版本1
# score = float(input("请输入成绩:"))
#
# print("成绩优秀!")
# elif 80 <= score < 90:
# print("成绩良好!")
# elif 60 <= score < 80:
# print("成绩及格!")
# elif 0 <= score < 60:
# print("成绩不及格!")
# else:
# print("非法输入!")
# 版本2:
score = float(input("请输入成绩:"))
if score > 100 or score < 0:
print("非法输入!")
elif score >= 90:
print("成绩优秀!")
elif score > 80:
print("成绩良好!")
elif score >= 60:
print("成绩及格!")
elif score > 0:
print("成绩不及格!")
height = float(input("请输入您的身高(单位:米):"))
weight = float(input("请输入您的体重(单位:千克):"))
bmi = weight / (height ** 2)
if bmi 18.5:
advice = f"您的BMI为 {bmi:.3}
,体重过轻,建议增加营养摄入。"
elif 18.5 <= bmi 24:
advice = f"您的BMI为 {bmi:.3},体重正常,继续保持健康的生活方式。"
elif 24 <= bmi 28:
advice = f"您的BMI为 {bmi:.3},体重过重,建议适当控制饮食并增加运动。"
else:
advice = f"您的BMI为 {bmi:.3},体重肥胖,建议减少高热量食物摄入并增加运动量。"
print(advice)
import random
"""
# 场景:
# (1)怪物房: 遇到了史莱姆,并打败了它,金币加5,经验加10!
# (2) 宝箱房: 你打开了宝箱,获得了钥匙
# (3) 陷阱房: 你触发了陷阱,受到了毒箭的伤害,血值减10
# (4) 商店: 你来到了商店,购买了药水,金币减5,血值加20
扩展:
随意从,列表中选择一个
room = random.choice(["怪物房", "宝箱房", "陷阱房", "商店"])
print("房间:", room)
"""
coin = 100
exp = 100
blood = 100
chest = []
room = input("请输入房间名:")
if room == "怪物房":
print("遇到了史莱姆,并打败了它")
coin += 5
exp += 10
elif room == "宝箱房":
print("你打开了宝箱,获得了钥匙")
chest.append("钥匙")
print("当前宝贝:", chest)
elif room == "陷阱房":
print("你触发了陷阱,受到了毒箭的伤害")
blood -= 10
elif room == "商店":
print("你来到了商店,购买了药水")
coin -= 5
blood += 20
print(f"""
玩家信息:
金币:{coin}
经验值:{exp}
血值: {blood}
""")
print("游戏结束")
1.4、分支嵌套
分支嵌套是指在一个分支语句内部嵌套另一个分支语句。
案例1:
age = int(input("年龄:"))
if age > 18:
print("大人电影!")
choice = input("""
1. 日韩区
2. 欧美区
3. 国产区
""")
if choice == "1":
print("《熔炉》")
print("《千与千寻》")
print("《龙猫》")
print("《天空之城》")
elif choice == "2":
print("《肖申克的救赎》")
print("《当幸福来敲门》")
print("《阿甘正传》")
print("《星际穿越》")
elif choice == "3":
print("《霸王别姬》")
print("《大话西游》")
print("《让子弹飞》")
print("《无间道》")
else:
print("输入有误!")
print("观看大人电影结束!")
else:
print("少儿电影")
print("科幻冒险类")
print("益智早教类")
print("科普记录类")
print("程序结束")
"""
勇士与地下城的场景续写:
(1)怪物房: 遇到了史莱姆
1. 选择攻击,战胜史莱姆,则经验加20,金币加20,失败则经验减20,金币减20,血值减20,成功的概率为50%。
2. 选择逃跑,则金币减20
(2) 宝箱房: 你打开了宝箱,获得了钥匙
(3) 陷阱房: 你触发了陷阱,受到了毒箭的伤害,血值减10
(4) 商店: 你来到了商店,打印当前血值和金币,一个金币买一个药水对应10个血值,引导是否购买药水
1. 购买,引导购买几个金币的药水,并完成减金币和增血值
2. 不购买,打印退出商店
"""
import random
coin = 100
exp = 100
blood = 100
chest = []
room = input("请输入房间名:")
if room == "怪物房":
print("遇到了史莱姆")
choice = input("【1.攻击/2.逃跑】")
if choice == "1":
print("选择干史莱姆!")
is_success = random.choice([100, 200])
if is_success == 100:
print("战胜史莱姆!")
coin += 20
exp += 20
else:
print("没打过史莱姆!")
coin -= 20
exp -= 20
blood -= 20
elif choice == "2":
print("逃跑ing")
coin -= 20
else:
print("无效输入!")
print("离开怪物房")
elif room == "宝箱房":
print("你打开了宝箱,获得了钥匙")
chest.append("钥匙")
print("当前宝贝:", chest)
elif room == "陷阱房":
print("你触发了陷阱,受到了毒箭的伤害")
blood -= 10
elif room == "商店":
print(f"玩家的金币:{coin},血值:{blood}")
print("一个金币买一个药水对应10个血值")
is_buy = input("是否购买药水【Y/N】")
if is_buy == "Y":
num = int(input("购买几瓶药水?"))
coin -= 1 * num
blood += 10 * num
print(f"当前玩家的金币:{coin},血值:{blood}")
elif is_buy == "N":
print("退出商店!")
else:
print("无效输入!")
print(f"""
玩家信息:
金币:{coin}
经验值:{exp}
血值: {blood}
""")
print("游戏结束")
二、循环语句
预备知识:
PyCharm提供了丰富的功能来帮助开发者编写、调试和运行 Python 代码。其中,PyCharm 的 Debug 模式是一种强大的调试工具,可以帮助开发者在代码执行过程中逐行跟踪和分析程序的行为。以下是关于 PyCharm Debug 模式的介绍:
设置断点:在需要调试的代码行上设置断点,断点是程序的一个暂停点,当程序执行到断点时会暂停执行,允许开发者逐行检查代码。
启动 Debug 模式:在 PyCharm 中,可以通过点击工具栏上的 "Debug" 按钮来启动 Debug 模式,或者使用快捷键(通常是 F9)。
逐行执行:在 Debug 模式下,可以使用调试工具栏上的按钮(如「Step Over」、「Step Into」和「Step Out」)逐行执行代码。Step Over 会执行当前行并跳转到下一行,Step Into 会进入函数调用并逐行执行函数内部代码,Step Out 会执行完当前函数并跳出到调用该函数的位置。
变量监视:在 Debug 模式下,可以查看变量的值和状态。在调试工具栏的「Variables」窗口中,可以看到当前作在 PyCharm 中,Debug 模式是一种强大的调试工具,可以帮助开发者在代码执行过程中逐行跟踪和分析程序的行为。
循环语句
循环语句是编程中的一种控制结构,用于重复执行特定的代码块,直到满足特定的条件为止。它允许程序根据需要多次执行相同或类似的操作,从而简化重复的任务。
2.1、while循环
while循环用于在条件为真的情况下重复执行一段代码,直到条件变为假为止。以下是while循环的语法:
while条件:
循环体
在执行while循环时,程序会先检查条件是否为真。如果条件为真,就执行循环体中的代码,然后再次检查条件。如果条件仍为真,就再次执行循环体中的代码,以此类推,直到条件变为假为止。
while True:
print("hello world")
count = 0
while count 10:
print("hello world")
count += 1
count = 100
while count > 0:
print("count:::", count)
count -= 1
2.2、循环案例
案例1:计算1-100的和
"""
# 准备:
# 假设有一个变量s的初始值为0,将s增加5次,每次增加值分别为1,2,3,4,5,然后打印s的值。
"""
count = 1
s = 0
while count <= 1000:
s += count
count += 1
print(s)
# 假设有一个变量s的初始值为"",将s拼接5次,每次增加值分别为"A","B","C",然后打印s的值。
s = ""
s += "A"
s += "B"
s += "C"
print(s)
# 假设有一个变量s的初始值为"",将s拼接5次,每次增加值分别为"A","B","C",然后打印s的值。
import random
import string
#
# print(string.digits+string.ascii_lowercase+string.ascii_uppercase)
# print(string.digits+string.ascii_letters)
# 随机生成10个字符的字符串
count = 0
s = ""
while count 10:
# 逻辑代码块开始
char = random.choice(string.digits + string.ascii_letters)
# print(char)
s += char
# 逻辑代码块结束
count += 1
print("s:::", s) # s::: oJ9iGMiqPF
2.3、for循环
for循环用于对一个容器对象(如字符串、列表、元组等)中的元素进行遍历和操作,直到所有元素都被遍历为止。以下是for循环的语法:
for 变量 in 容器对象(字符串,列表,字典等):
循环体
for i in "hello world":
# print("yuan")
print(i)
在执行for循环时,程序会依次将序列中的每个元素赋值给变量,并执行循环体中的代码,直到序列中的所有元素都被遍历完为止。
在 Python 中,range()
函数用于生成一个整数序列,它常用于循环和迭代操作。
range(stop)
range(start, stop, step)
参数解释:
for i in range(10):
print("yuan")
s = 0
for i in range(1, 101):
s += i
print(s)
2.4、嵌套语句
案例1:打印出从 0 到 99 中能被 13 整除的所有数字。
for i in range(100):
if i % 13 == 0:
print(i)
案例2:打印出从 1 到 100 的所有整数,但将整除 3 的数字打印为 "Fizz",整除 5 的数字打印为 "Buzz",同时整除 3 和 5 的数字打印为 "FizzBuzz"。
for i in range(1, 101):
if i % 3 == 0 and i % 5 == 0:
print(f"{i}:FizzBuzz")
elif i % 3 == 0:
print(f"{i}:Fizz")
elif i % 5 == 0:
print(f"{i}:Buzz")
else:
print(f"{i}:各种情况都不符合!")
print(f"完成数字{i}判断!")
import random
coin = 100
exp = 100
blood = 100
chest = []
while True:
room = input("请输入房间名:")
if room == "怪物房":
print("遇到了史莱姆")
choice = input("【1.攻击/2.逃跑】")
if
choice == "1":
print("选择干史莱姆!")
is_success = random.choice([100, 200])
if is_success == 100:
print("战胜史莱姆!")
coin += 20
exp += 20
else:
print("没打过史莱姆!")
coin -= 20
exp -= 20
blood -= 20
elif choice == "2":
print("逃跑ing")
coin -= 20
else:
print("无效输入!")
print("离开怪物房")
elif room == "宝箱房":
print("你打开了宝箱,获得了钥匙")
chest.append("钥匙")
print("当前宝贝:", chest)
elif room == "陷阱房":
print("你触发了陷阱,受到了毒箭的伤害")
blood -= 10
elif room == "商店":
print(f"玩家的金币:{coin},血值:{blood}")
print("一个金币买一个药水对应10个血值")
is_buy = input("是否购买药水【Y/N】")
if is_buy == "Y":
num = int(input("购买几瓶药水?"))
coin -= 1 * num
blood += 10 * num
print(f"当前玩家的金币:{coin},血值:{blood}")
elif is_buy == "N":
print("退出商店!")
else:
print("无效输入!")
print(f"""
玩家信息:
金币:{coin}
经验值:{exp}
血值: {blood}
""")
print("游戏结束")
import random
coin = 100
exp = 100
blood = 100
chest = []
for i in range(3):
room = input("请输入房间名:")
if room == "怪物房":
print("遇到了史莱姆")
choice = input("【1.攻击/2.逃跑】")
if choice == "1":
print("选择干史莱姆!")
is_success = random.choice([100, 200])
if is_success == 100:
print("战胜史莱姆!")
coin += 20
exp += 20
else:
print("没打过史莱姆!")
coin -= 20
exp -= 20
blood -= 20
elif choice == "2":
print("逃跑ing")
coin -= 20
else:
print("无效输入!")
print("离开怪物房")
elif room == "宝箱房":
print("你打开了宝箱,获得了钥匙")
chest.append("钥匙")
print("当前宝贝:", chest)
elif room == "陷阱房":
print("你触发了陷阱,受到了毒箭的伤害")
blood -= 10
elif room == "商店":
print(f"玩家的金币:{coin},血值:{blood}")
print("一个金币买一个药水对应10个血值")
is_buy = input("是否购买药水【Y/N】")
if is_buy == "Y":
num = int(input("购买几瓶药水?"))
coin -= 1 * num
blood += 10 * num
print(f"当前玩家的金币:{coin},血值:{blood}")
elif is_buy == "N":
print("退出商店!")
else:
print("无效输入!")
print(f"""
玩家信息:
金币:{coin}
经验值:{exp}
血值: {blood}
""")
print("游戏结束")
poke_types = ['♥️', '♦️', '♠️', '♣️']
poke_nums = [2, 3, 4, 5, 6, 7, 8, 9, 10, 'J', 'Q', 'K', 'A']
for pn in poke_nums:
for pt in poke_types:
print(f"{pt}{pn}")
2.5、退出循环
while是条件循环,条件为False时退出循环,for循环是遍历循环,遍历完成则退出,这都属于正常退出循环,如果想非正常退出循环,分为强制退出当次循环和退出整个循环,分别使用关键字continue
和break
来实现
while True:
userInput = input("请输入一个数字(输入q退出):")
if userInput.upper() == "Q":
break
number = int(userInput)
square = number ** 2
print(f"{number} 的平方是 {square}")
print("程序结束")
for i in range(10):
userInput = input("请输入一个数字(输入q退出):")
if userInput.upper() == "Q":
break
number = int(userInput)
square = number ** 2
print(f"{number} 的平方是 {square}")
print("程序结束")
for i in range(100):
if i % 13 != 0:
continue
print("1-获取i值:", i)
for i in range(100):
if i % 13 == 0:
print("2-获取i值:", i)
"""
1-获取i值: 0
1-获取i值: 13
1-获取i值: 26
1-获取i值: 39
1-获取i值: 52
1-获取i值: 65
1-获取i值: 78
1-获取i值: 91
2-获取i值: 0
2-获取i值: 13
2-获取i值: 26
2-获取i值: 39
2-获取i值: 52
2-获取i值: 65
2-获取i值: 78
2-获取i值: 91
"""
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
整理出了一套系统的学习路线,这套资料涵盖了诸多学习内容:开发工具,基础视频教程,项目实战源码,51本电子书籍,100道练习题等。相信可以帮助大家在最短的时间内,能达到事半功倍效果,用来复习也是非常不错的。
👉Python学习路线汇总👈
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
👉Python学习视频合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉实战案例👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉Python副业兼职路线&方法👈
学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。

资料获取方式:↓↓↓↓
1.关注下方公众号↓↓↓↓,在后台发送:“111” 即可免费领取