Python入门学习:if语句与条件控制--and、or、in、not in详解与实践

Python入门学习:if语句与条件控制–and、or、in、not in详解与实践

在这里插入图片描述

🌈 个人主页:高斯小哥
🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您的订阅和支持~
💡 创作高质量博文(平均质量分92+),分享更多关于深度学习、PyTorch、Python领域的优质内容!(希望得到您的关注~)


🌵文章目录🌵

  • 🚀 一、引言
  • 🔍 二、if语句的基础知识
  • 💡 三、逻辑运算符:and和or
  • 🔎 四、成员运算符:in和not in
  • 📚 五、条件语句的嵌套
  • 🛠️ 六、实践案例分析
  • 🚀 七、总结与展望
  • 🤝 八、期待与你共同进步


🚀 一、引言

  在Python编程中,条件控制是不可或缺的一部分。if语句作为条件控制的核心,允许我们根据特定条件执行不同的代码块。通过结合逻辑运算符(如andor)和成员运算符(如innot in),我们可以构建出复杂而灵活的条件判断逻辑。在本篇博客中,我们将深入探讨if语句及其相关运算符的用法,并通过丰富的代码示例和实践案例来加深理解。


🔍 二、if语句的基础知识

  if语句是Python中最基本的条件控制语句。它的基本语法如下:

if condition:
    # 当条件为真时执行的代码块

其中,condition是一个表达式,其结果应为布尔值(TrueFalse)。如果conditionTrue,则执行if语句块中的代码。

下面是一个简单的例子,演示了如何使用if语句判断一个数是否大于10:

num = 15

if num > 10:
    print("The number is greater than 10.")

输出:

The number is greater than 10.

💡 三、逻辑运算符:and和or

  逻辑运算符用于组合多个条件,以构建更复杂的条件表达式。Python中常用的逻辑运算符包括andor

  • and运算符:当所有条件都为真时,结果为真。
  • or运算符:当至少一个条件为真时,结果为真。

下面是一个使用andor运算符的例子:

age = 20
is_student = True

if age >= 18 and is_student:
    print("You are an adult student.")
elif age < 18 or not is_student:
    print("You are not an adult student.")
else:
    print("Invalid input.")

输出:

You are an adult student.

🔎 四、成员运算符:in和not in

  成员运算符用于判断一个元素是否属于某个集合(如列表、元组、字符串等)。

  • in运算符:如果元素在集合中,结果为真。
  • not in运算符:如果元素不在集合中,结果为真。

下面是一个使用innot in运算符的例子:

fruits = ["apple", "banana", "orange"]
fruit = "grape"

if fruit in fruits:
    print(f"{fruit} is in the list of fruits.")
else:
    print(f"{fruit} is not in the list of fruits.")

if "apple" not in fruits:
    print("Apple is not in the list.")
else:
    print("Apple is in the list.")

输出:

grape is not in the list of fruits.
Apple is in the list.

📚 五、条件语句的嵌套

  除了基本的if语句外,我们还可以使用嵌套的if语句来构建更复杂的条件逻辑。嵌套if语句允许我们在一个if语句块中再嵌套另一个if语句块。

  下面是一个使用嵌套if语句的例子,这个例子是一个简单的用户身份验证系统,它要求用户输入用户名和密码,并根据输入的信息验证用户的身份:

def authenticate_user():
    """用户身份验证函数"""
    username = input("请输入用户名: ")
    password = input("请输入密码: ")

    # 假设有效的用户名和密码是 "admin" 和 "password123"
    if username == "admin":
        if password == "password123":
            print("身份验证成功!欢迎,管理员!")
        else:
            print("密码错误,请重试。")
    else:
        # 如果不是管理员,检查是否是普通用户
        if username in ["user1", "user2", "user3"]:
            if password == "user_password":
                print("身份验证成功!欢迎,普通用户!")
            else:
                print("密码错误,请重试。")
        else:
            print("用户不存在,请注册或检查您的用户名和密码。")

# 运行身份验证函数
authenticate_user()

  在这个例子中,我们首先检查用户名是否为"admin",如果是,则进一步检查密码。如果用户名或密码错误,我们提供相应的反馈。如果用户名不是"admin",我们则检查是否是普通用户(在这个例子中,我们假设有三个普通用户的用户名分别是"user1"、“user2"和"user3”),并再次进行密码验证。如果用户既不是管理员也不是普通用户,我们则告知用户用户不存在。


🛠️ 六、实践案例分析

  现在,让我们通过一个实际的案例来应用前面所学到的if语句和条件控制知识。我们将编写一个程序,该程序能够根据用户输入的日期判断该日期是否是周末。

def is_weekend(day):
    """判断给定日期是否是周末"""
    if day == 6 or day == 7:  # 假设6代表星期六,7代表星期天
        return True
    return False

def main():
    day_number = int(input("请输入星期的数字(1-7),其中1代表星期一,7代表星期天:"))

    if day_number < 1 or day_number > 7:
        print("输入的数字不在有效范围内,请输入1-7之间的数字。")
    else:
        if is_weekend(day_number):
            print(f"{day_number}是周末!")
        else:
            print(f"{day_number}不是周末。")

if __name__ == "__main__":
    main()

  在这个案例中,我们首先定义了一个is_weekend函数,它接受一个参数day,代表星期的数字。然后,我们使用if语句来判断该数字是否代表周末(即6或7)。接着,在main函数中,我们获取用户的输入,并使用if语句来检查输入是否有效。如果输入有效,我们调用is_weekend函数来判断是否是周末,并打印相应的消息。


🚀 七、总结与展望

  通过本篇博客的学习,我们深入了解了if语句及其相关运算符的用法,包括逻辑运算符(andor)和成员运算符(innot in)。我们还探讨了条件语句的嵌套以及如何通过实践案例应用所学知识。

  展望未来,if语句和条件控制在编程中扮演着至关重要的角色。掌握这些基础知识后,我们可以进一步学习更高级的条件控制结构,如elifelse以及条件表达式(也称为三元运算符)。此外,我们还可以探索其他编程语言中的条件控制机制,以拓宽我们的编程视野。


🤝 八、期待与你共同进步

  🌱 亲爱的读者,非常感谢你每一次的停留和阅读!你的支持是我们前行的最大动力!🙏

  🌐 在这茫茫网海中,有你的关注,我们深感荣幸。你的每一次点赞👍、收藏🌟、评论💬和关注💖,都像是明灯一样照亮我们前行的道路,给予我们无比的鼓舞和力量。🌟

  📚 我们会继续努力,为你呈现更多精彩和有深度的内容。同时,我们非常欢迎你在评论区留下你的宝贵意见和建议,让我们共同进步,共同成长!💬

  💪 无论你在编程的道路上遇到什么困难,都希望你能坚持下去,因为每一次的挫折都是通往成功的必经之路。我们期待与你一起书写编程的精彩篇章! 🎉

  🌈 最后,再次感谢你的厚爱与支持!愿你在编程的道路上越走越远,收获满满的成就和喜悦!祝你编程愉快!🎉

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/415087.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Zookeeper启动报错排查

前言&#xff1a;生产linux部署的zookeeper&#xff0c;执行启动脚本后&#xff0c;还是无法使用&#xff0c;故进行重启排查 在zookeeper的bin目录下执行 ./zkServer.sh start-foreground 可实时查看启动日志排查问题 根据上面的日志可以看出&#xff0c;是zoo.cfg配置文件里…

本地快速部署谷歌开放模型Gemma教程(基于LMStudio)

本地快速部署谷歌开放模型Gemma教程&#xff08;基于LMStudio&#xff09; 一、介绍 Gemma二、部署 Gemma2.1 部署工具2.1 部署步骤 三、总结 一、介绍 Gemma Gemma是一系列轻量级、最先进的开放式模型&#xff0c;采用与创建Gemini模型相同的研究和技术而构建。可以直接运行在…

Kafka安全模式之身份认证

一、简介 Kafka作为一个分布式的发布-订阅消息系统&#xff0c;在日常项目中被频繁使用&#xff0c;通常情况下无论是生产者还是消费者只要订阅Topic后&#xff0c;即可进行消息的发送和接收。而kafka在0.9.0.0版本后添加了身份认证和权限控制两种安全服务&#xff0c;本文主要…

10 Redis之SB整合Redis

7. SB整合Redis Spring Boot 中可以直接使用 Jedis 实现对 Redis 的操作&#xff0c;但一般不这样用&#xff0c;而是使用 Redis操作模板 RedisTemplate 类的实例来操作 Redis。 RedisTemplate 类是一个对 Redis 进行操作的模板类。该模板类中具有很多方法&#xff0c;这些方…

stable-diffusion-webui+sadTalker开启GFPGAN as Face enhancer

接上一篇&#xff1a;在autodl搭建stable-diffusion-webuisadTalker-CSDN博客 要开启sadTalker gfpgan as face enhancer&#xff0c; 需要将 1. stable-diffusion-webui/extensions/SadTalker/gfpgan/weights 目录下的文件拷贝到 :~/autodl-tmp/models/GFPGAN/目录下 2.将G…

杰理-按键多次按下识别多击

杰理-按键多次按下识别多击 #define ALL_KEY_EVENT_CLICK_ONLY 0 //是否全部按键只响应单击事件

ansys计算结果保存

100 &#xff1a; 图片质量 ON&#xff1a;白色背景 右键设置保存图片的背景格式&#xff1a;

基于Python网络爬虫的IT招聘就业岗位数据分析可视化推荐系统

文章目录 基于Python网络爬虫的IT招聘就业岗位数据分析可视化推荐系统项目概述招聘岗位数据爬虫分析系统展示用户注册登录系统首页IT招聘数据开发岗-javaIT招聘数据开发岗-PythonIT招聘数据开发岗-AndroidIT招聘数据开发岗-其它招聘岗位数据分析算法方面运维方面测试方面招聘岗…

redis是单线程,为什么这么快?

redis是纯内存操作&#xff0c;C语言编写&#xff0c;执行速度非常快。 采用单线程&#xff0c;避免不必要的上下文切换&#xff0c;不用考虑线程安全问题。 采用I/O多路复用模型&#xff0c;非阻塞I/O。 例如&#xff1a;bgsave和bgrewriteaof都是在后台执行操作&#xff0…

农业四情监测设备为什么符合高标准农田建设

TH-Q3随着科技的不断进步&#xff0c;智慧农业正逐渐成为现代农业发展的重要方向。其中&#xff0c;农业四情监测系统以其独特的功能和优势&#xff0c;在高标准农田建设中发挥着越来越重要的作用。 一、农业四情监测系统的概念及功能 农业四情监测系统&#xff0c;顾名思义&am…

C++之queue和dqueue

1、queue queue&#xff08;队列&#xff09;&#xff0c;一种数据结构&#xff0c;可以让某些数据结构的操作变得简单。队列&#xff08;queue&#xff09;最大的特点就是先进先出。就是说先放入queue容器的元素一定是要先出队列之后&#xff0c;比它后进入队列的元素才能够出…

算法沉淀——动态规划之回文串问题(上)(leetcode真题剖析)

算法沉淀——动态规划之回文串问题 01.回文子串02.最长回文子串03.分割回文串 IV04.分割回文串 II05.最长回文子序列06.让字符串成为回文串的最少插入次数 01.回文子串 题目链接&#xff1a;https://leetcode.cn/problems/palindromic-substrings/ 给你一个字符串 s &#xf…

08 MyBatis之查询专题(返回对象/Map/List封装Map/Map封装Map)+列名与属性名映射的三种方法

准备: INSERT INTO t_car (id, car_num, brand, guide_price, produce_time, car_type) VALUES (165, 6666, 丰田霸道, 32.00, 2020-11-11, 燃油车); INSERT INTO t_car (id, car_num, brand, guide_price, produce_time, car_type) VALUES (166, 1202, 大众速腾, 30.00, 2020…

IntelliJ IDEA 2023:创新不止步,开发更自由 mac/win版

IntelliJ IDEA 2023激活版是一款强大而智能的集成开发环境(IDE)&#xff0c;为开发者提供了一系列先进的功能和工具&#xff0c;帮助他们更高效地编写、调试和测试代码。 IntelliJ IDEA 2023 软件获取 IntelliJ IDEA 2023继承了其前代版本的优秀基因&#xff0c;并在此基础上进…

基于AMDGPU-ROCm的深度学习环境搭建

在风起云涌的AI江湖&#xff0c;NVIDIA凭借其CUDA生态和优秀的硬件大杀四方&#xff0c;立下赫赫战功&#xff0c;而另一家公司AMD也不甘示弱&#xff0c;带着他的生态解决方案ROCm开始了与不世出的NVIDA的正面硬钢&#xff0c;"ROCm is the answer to CUDA", AMD官网…

177基于matlab的基于S函数的变步长自适应滤波算法

基于matlab的基于S函数的变步长自适应滤波算法&#xff0c;比传统的算法收敛速度更快。传统的LMS算法中&#xff0c;权值向量实时地被更新。这些更新可能会由于噪声的影响而变得不稳定。SVSLMS算法是一种改进的LMS算法&#xff0c;它采用了矢量处理的概念&#xff0c;利用信号和…

分布式锁的应用与疑惑

文章目录 一、为什么需要用分布式锁二、Redis实现分布式锁三、Zookeeper实现分布式锁 一、为什么需要用分布式锁 集群下&#xff0c;普通的锁&#xff0c;无法解决问题 集群下&#xff0c;保证安全需要使用分布式锁 二、Redis实现分布式锁 Redisson内部封装的RedLock实现分…

yolov9,使用自定义的数据训练推理

[源码 &#x1f40b;]( GitHub - WongKinYiu/yolov9: Implementation of paper - YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information) [论文 &#x1f4d8;](arxiv.org/pdf/2402.13616.pdf) 论文摘要&#xff1a;本文介绍了一种新的目标检测…

Web服务器群集:OpenEuler 部署 LAMP(LNMP) 基础服务

目录 一、实验 1.环境 2. 网络配置 3. MobaXterm远程连接 4. apache 2.4.58 源码编译安装 5. php 8.3.1源码编译安装 6.配置httpd 连接 php-fpm 6. nginx 1.24.0源码编译安装 7. mysql 8.0.36安装 二、问题 1.MobaXterm设置右键复制粘贴 2.OpenEuler如何查看CPU的核…

网络防御保护3

一、双击热备 1&#xff0c;根据网段划分配置IP地址和安全区域 2&#xff0c;配置双机热备场景 主备场景配置 抢占延时仅对主设备生效。 hello报文周期时间--- 默认为1S&#xff0c;可以修改&#xff0c;但是&#xff0c;主备设备需要同时修改为相同值。 同步配置 双机热备的…