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

【Python入门】第3篇:流程控制之条件判断

在上一篇中,我们学会了如何使用变量和数据类型这些“单词”来存储信息。但一个只会按顺序执行命令的程序,就像一辆只能直行的汽车,功能非常有限。今天,我们将为这辆车装上“方向盘”——流程控制。它将赋予程序判断和选择的能力,使其变得智能。

我们将首先学习流程控制的第一种形式:​条件判断

一、为什么需要条件判断?​

现实世界中充满了选择:

  • 如果天气好,我就去公园;否则,我就在家看书。
  • 如果用户的年龄大于等于18岁,就显示成人内容;否则,显示青少年模式。

程序同样需要根据不同的情况执行不同的代码。这时,就要用到if语句。

二、if语句的基本结构​

if语句的核心是:​如果某个条件成立(为True),就执行对应的代码块;如果不成立(为False),就跳过。​

2.1 最简单的 if语句

注意​: 在Python中,​缩进​(通常是4个空格)至关重要。它用来表示代码之间的从属关系。if语句下一行缩进的代码,就是这个条件成立后要执行的“代码块”。

age = 20if age >= 18:print("您已成年,可以进入。")print("请享受您的时光!") # 这行也在if的代码块内print("程序结束。") # 这行不在if的代码块内,无论条件是否成立都会执行

输出:

您已成年,可以进入。
请享受您的时光!
程序结束。

如果将 age改为 16,则输出仅为:

程序结束。

2.2 if-else语句:二者选一

当条件不成立时,我们可能想做另一件事。这时就需要else

age = 16if age >= 18:print("您已成年,可以进入。")
else:print("对不起,您未成年,禁止入内。")print("请在家人的陪同下访问。") # else的代码块print("程序结束。")

输出:

对不起,您未成年,禁止入内。
请在家人的陪同下访问。
程序结束。

2.3 if-elif-else语句:多条件判断

当情况不止两种时,我们需要 elif(它是“else if”的缩写)来检查多个条件。

重要​: if-elif-else链会从上到下依次判断条件,一旦某个条件为 True就会执行对应的代码块,然后直接跳出整个判断结构,后面的 elif或 else都不会再被判断。

示例:成绩评级系统

score = 85if score >= 90:print("优秀!")
elif score >= 80: # 程序执行到这里时,score肯定小于90print("良好!")
elif score >= 70:print("中等!")
elif score >= 60:print("及格!")
else:print("不及格,需要努力!")print("评级完毕。")

输出:

良好!
评级完毕。

三、条件的构建:比较运算符与逻辑运算符

3.1 比较运算符

用于比较两个值,结果是布尔值(True False)。

运算符描述示例结果
==等于10 == 10True
!=不等于10 != 5True
>大于10 > 5True
<小于10 < 5False
>=大于等于10 >= 10True
<=小于等于10 <= 5False

3.2 逻辑运算符​

用于组合多个条件。

  • and(与):左右两边的条件都为 True,结果才为 True。
  • or(或):左右两边的条件有一个为 True,结果就为 True。
  • not(非):对条件取反,True变 False,False变 True。

示例:

age = 25
has_id = True# 使用 and:必须同时满足两个条件
if age >= 18 and has_id:print("年龄和身份验证均通过,欢迎!")
else:print("条件不符,无法进入。")# 使用 or:满足其中一个条件即可
is_weekend = True
is_holiday = Falseif is_weekend or is_holiday:print("今天是休息日!")# 使用 not
is_raining = Falseif not is_raining: # 如果“没下雨”print("天气晴朗,适合出门!")

四、动手实践:智能登录检查

让我们编写一个程序,综合运用以上知识来模拟一个简单的登录检查。

# 模拟数据库中存储的正确用户名和密码
correct_username = "admin"
correct_password = "123456"# 用户输入
input_username = input("请输入用户名:") # input()函数用于接收用户输入
input_password = input("请输入密码:")print("正在进行验证...")
print("-" * 20)# 进行智能判断
if input_username == correct_username and input_password == correct_password:# 用户名和密码都正确print("登录成功!")print("欢迎回来,", correct_username, "!")elif input_username != correct_username and input_password != correct_password:# 用户名和密码都错误print("登录失败!用户名和密码均错误。")elif input_username != correct_username:# 只有用户名错误print("登录失败!用户名错误。")else: # 如果程序能执行到这里,说明用户名肯定是对的,那么错误只可能是密码print("登录失败!密码错误。")print("-" * 20)
print("验证流程结束。")

运行这个程序,尝试输入不同的用户名和密码,观察程序的判断结果,体会 if-elif-else的逻辑流程。

http://www.dtcms.com/a/507034.html

相关文章:

  • 网站建设初级教程seo高效优化
  • 智能排课系统实战 Java+MySQL实现课程自动编排与冲突检测
  • 【EE初阶 - 网络原理】传输层协议
  • 电子商务网站建设的难点设计创意网站推荐
  • 【Linux环境下安装】SpringBoot应用环境安装(五)-milvus安装
  • Windows使用docker安装milvus的配置文件
  • 记录之Ubuntu22.4虚拟机及hadoop为分布式安装
  • K8s 运维三大核心难题:DNS 故障、有状态存储、AI 赋能 SRE 解决方案
  • c#WPF基础知识
  • 云栖实录|阿里云 Milvus:AI 时代的专业级向量数据库
  • 科技网站小编账号运营竞争性谈判
  • 华为FreeBuds 7i空间音频不灵敏怎么办?
  • Java Stream 高级应用:优雅地扁平化(FlatMap)递归树形结构数据
  • git推送本地仓库到远程 以及 模拟多人协作
  • 【开题答辩实录分享】以《预约上门维修服务运营与数据分析系统的设计与实现》为例进行答辩实录分享
  • 数据结构7:栈和队列
  • SpringBoot的启动流程原理——小白的魔法引擎探秘
  • Vue3 + Element Plus 弹框树形结构首次打开不更新问题排查与解决
  • 我先做个网站怎么做网络推广技术外包
  • 互联网公司排名前十名名单seo整站优化更能准确获得客户
  • 网络运维学习笔记
  • Helm、HPA 与 Rancher:Kubernetes(十) 生态核心工具详解
  • Docker常见问题
  • 拟合优度:模型与数据的契合之度
  • 理解 Python 的有序字典 OrderedDict
  • 狙击生态的演化史:从抢跑到模型套利
  • 用C语言实现外观模式
  • Git三路合并算法的弊端
  • 网站模板文件扫描工作招聘58同城
  • 网站建设上线问题企业网站的推广方法有哪些