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

news2024/11/18 13:52:50

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以及条件表达式(也称为三元运算符)。此外,我们还可以探索其他编程语言中的条件控制机制,以拓宽我们的编程视野。


🤝 八、期待与你共同进步

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

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

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[AIGC] JDK17中的Record类介绍

文章目录 什么是Record类Record类的特点Record类实践 我们都知道&#xff0c;从Java 14开始, JEP 359 推出了一个新的类型声明Record&#xff0c;Record 类型用来模拟不可变的数据结构&#xff0c;它能产生一个类包含一定数量的只读字段。 什么是Record类 在JDK14中引入了一…

jetson nano——编译安装PySide2

目录 1.打开我提供的文件or官网自己下载&#xff08;需对应PyQt5的版本&#xff09;2.解压文件3.进入目录4.安装clang5. 编译安装6.报错: error: ‘NPY_ARRAY_UPDATEIFCOPY’ was not declared in this scope7.又报错&#xff1a;error: ‘NPY_ARRAY_UPDATEIFCOPY’ was not de…

Yapi部署

【GO开发工程师】Yapi部署 推荐个人主页&#xff1a;席万里的个人空间 文章目录 【GO开发工程师】Yapi部署1、Yapi部署 1、Yapi部署 初始化yapi&#xff1a; git clone https://github.com/Ryan-Miao/docker-yapi.git cd docker-yapi docker-compose upyapi启动失败 1.cd进入…

MySQL里的两个“二次”

文章中所有图片均来自网络 一、double write 第一个二次是mysql一个崩溃恢复很重要的特性-重复写入。 doublewrite缓冲区是位于系统表空间中的存储区域&#xff0c;在该区域中&#xff0c;InnoDB会在将页面写入数据文件中的适当位置之前&#xff0c;从InnoDB缓冲池中刷新这些页…

海量物理刚体 高性能物理引擎Unity Physics和Havok Physics的简单性能对比

之前的博客中我们为了绕过ECS架构&#xff0c;相当于单独用Batch Renderer Group实现了一个精简版的Entities Graphics&#xff0c;又使用Jobs版RVO2实现了10w人同屏避障移动。 万人同屏对抗割草 性能测试 PC 手机端 性能表现 弹幕游戏 海量单位同屏渲染 锁敌 避障 非ECS 那么有…

dolphinscheduler海豚调度(三)SQL任务

在之前的博文中&#xff0c;我们已经介绍了DolphinScheduler海豚调度的基本概念和模块&#xff0c;安装部署和元数据切换&#xff0c;以及Shell任务的实践。今天&#xff0c;让我们来深入探讨DolphinScheduler中另一种常见的任务类型&#xff1a;SQL任务。 SQL任务是DolphinSc…

嵌入式学习 Day 26

数组指针和指针数组 &#xff08;题外话&#xff09; 数组指针&#xff1a;数组指针是一种指针&#xff0c;它指向一个数组的首地址。在C语言中&#xff0c;数组名本身就是一个指向数组首地址的指针&#xff0c;因此数组名可以被赋值给指针变量&#xff0c…

07 Qt自绘组件:图片预览小组件ImageViewer

系列文章目录 01 Qt自定义风格控件的基本原则-CSDN博客 02 从QLabel聊起&#xff1a;自定义控件扩展-图片控件-CSDN博客 03 从QLabel聊起&#xff1a;自定义控件扩展-文本控件-CSDN博客 04 自定义Button组件&#xff1a;令人抓狂的QToolButton文本图标居中问题-CSDN博客 0…

使用Jenkins部署前端Vue项目和后端Java服务

Jenkins安装相关插件&#xff0c;供后续使用&#xff08;Dashboard - Manage Jenkins - Plugins&#xff09; Maven Integration plugin https://plugins.jenkins.io/maven-plugin CloudBees Docker Build and Publish pluginhttps://plugins.jenkins.io/docker-build-publish…

Unity中的UI系统之GUI

目录 概述工作原理和主要作用基础控件重要参数及文本和按钮多选框和单选框输入框和拖动条图片绘制和框 复合控件工具栏和选择网络滚动视图和分组窗口 自定义整体样式自定义皮肤样式 概述 什么是UI系统 UI是User Interface&#xff08;用户界面&#xff09;的简称&#xff0c;用…

【pytorch】函数记录

你好你好&#xff01; 以下内容仅为当前认识&#xff0c;可能有不足之处&#xff0c;欢迎讨论&#xff01; 文章目录 torch.sum()torch.argmax()torch.nn.Parametertorch.unbindtorch.optim.Adam()[^adam]torch.cattorch.unsqueeze()torch.normalize()[^l2]torch.eyetorch.mmto…

网站https证书申请方式

网站HTTPS证书&#xff0c;也称为SSL证书或TLS证书&#xff0c;是一种数字证书&#xff0c;用于在用户浏览器与网站服务器之间建立安全的加密连接。当网站安装了HTTPS证书后&#xff0c;用户访问该网站时&#xff0c;浏览器地址栏会显示为"https://"开头&#xff0c;…

NoSQL--虚拟机网络配置

目录 1.初识NoSQL 1.1 NoSQL之虚拟机网络配置 1.1.1 首先&#xff0c;导入预先配置好的NoSQL版本到VMware Workstation中 1.1.2 开启虚拟机操作&#xff1a; 1.1.2.1 点击开启虚拟机&#xff1a; 1.1.2.2 默认选择回车CentOS Linux&#xff08;3.10.0-1127.e17.x86_64) 7 …

微服务架构 SpringCloud

单体应用架构 将项目所有模块(功能)打成jar或者war&#xff0c;然后部署一个进程--医院挂号系统&#xff1b; > 优点: > 1:部署简单:由于是完整的结构体&#xff0c;可以直接部署在一个服务器上即可。 > 2:技术单一:项目不需要复杂的技术栈&#xff0c;往往一套熟悉的…

STM32标准库开发—硬件SPI外设

SPI外设简介 SPI1与SPI2所挂载的总线位置不一样&#xff0c;所以时钟频率也不一样&#xff0c;SPI2挂载在APB1时钟频率为36MHZ是SPI1的一半 I2S是一种音频传输协议&#xff0c;适用于STM32大容量产品 一般来说串口发送数据时是低位先行&#xff0c;SPI通信是高位先行 SPI框图 发…

173基于matlab的经典STAP处理机载雷达信号

基于matlab的经典STAP处理机载雷达信号&#xff0c;空时自适应信号处理的典型算法、滤波器和相关参数的仿真&#xff0c;程序已调通&#xff0c;可直接运行。 173 matlab 空时自适应信号处理 STAR (xiaohongshu.com)https://www.xiaohongshu.com/explore/65d9cf11000000000102b…

谷歌seo推广好还是竞价排名好?

事实上seo跟sem竞价并没有任何冲突&#xff0c;也并没有哪个更好的说法&#xff0c;关键在于理解它们各自的优势与局限性&#xff0c;并根据你的业务&#xff0c;预算来配合 Seo推广的优势在于成本&#xff0c;只要你的网站在搜索结果获得高排名&#xff0c;就能有源源不断的点…

GaN建模:强大但富有挑战性

来源&#xff1a;Modeling GaN: Powerful but Challenging&#xff08;10年&#xff09; 文章的研究内容 这篇文章主要研究了氮化镓&#xff08;GaN&#xff09;高电子迁移率晶体管&#xff08;HEMTs&#xff09;的建模问题。GaN HEMTs是微波频段高功率发射器设计中的关键技术…

azure devops工具实践分析

对azure devops此工具的功能深挖&#xff0c;结合jira的使用经验的分析 1、在backlog的功能描述&#xff0c;可理解为需求项&#xff0c;这里包括了bug&#xff0c;从开发的角度修复bug也是个工作项&#xff0c;所以需求的范围是真正的需求&#xff08;开发接收到的已经确认的…

【Kubernetes】k8s中容器之间、pod之间如何进行网络通信?

目录 PodKubernetes 网络模型同一Pod上的容器之间进行通信同一Node上的不同Pod之间进行通信不同Node上的Pod之间进行通信Service参考 Pod 首先来回顾一下Pod&#xff1a; Pod 是用于构建应用程序的最小可部署对象。单个 Pod 代表集群中正在运行的工作负载&#xff0c;并封装一…