Python初学者须知(10)初识条件判断

         本系列博客主要针对的是Python初学者。Python语言简洁、强大的特性吸引了越来越多的技术人员将他们的项目转移到Python上。目前,Python已经成为计算机行业最流行的编程语言之一。笔者考虑到Python初学者的多元化(Python学习者可能是对编程感兴趣的中学生、学校刚开课的大学生、或者有转型打算的在职人员),本系列博客将结合实际例子深入浅出的全面讲解Python中的所有核心概念,让你知道Python是如何描述世界的。

        本文是笔者的系列博客《Python初学者须知》的第十篇,主要内容是向大家介绍Python中的条件判断语句。条件判断是编程中一种基本的控制结构,用于根据某个条件的真假执行不同的代码块。条件判断通常使用关if 、elif 和 else 来实现在条件判断中,一个条件语句会根据给定的条件判断表达式的结果选择性地执行相应的代码。这个条件判断的结果通常是一个布尔值,即True或False。

 基本的条件判断结构如下:

if condition:# 当条件为真时执行这里的代码块
elif another_condition:# 当另一个条件为真时执行这里的代码块
else:# 如果以上条件都不满足,则执行这里的代码块

 if: 当条件为真时执行相应的代码块。
elif(else if): 在前一个条件为假的情况下,检查另一个条件,如果为真则执行相应的代码块。
else: 当以上所有条件都为假时执行相应的代码块。
        条件判断使程序能够根据不同的情况采取不同的行动,从而实现更灵活的控制流。在实际编程中,条件判断常用于处理用户输入、数据筛选、错误处理等方面。

if else语句:

if语句是条件判断的最基本的条件判断语句,它只能判断一个事件的真与假两种情况。即单一条件判断。以下是一个简单的if语句的示例:

代码:

# 示例:判断一个数字是正数还是负数,并输出不同的信息number = int(input("请输入一个数字:"))if number > 0:print("这是一个正数")
else:print("这是一个非正数")

结果:

从程序运行的结果我们可以清楚的看到,程序通过if else语句能对输入的内容根据条件做出正确的判断。然而在实际程序编写中,我们遇到的问题通常不是非黑即白的,这个时候我们就可以通过 if else语句的嵌套和elif语句来完成判断。

if else语句与elif语句进行判断:

if else嵌套和 if elif else 是两种不同的条件语句结构,它们在处理多条件判断时有一些区别。

if else嵌套:

在 if else 嵌套中,你可以在一个 if 或 else 代码块内再嵌套另一个完整的 if 或 else 结构。这样可以创建更复杂的条件判断,每个条件都有自己的代码块。以下是一个简单的if else语句嵌套示例。

代码:

# 判断一个数字的正负性和奇偶性number = int(input("请输入一个数字:"))if number > 0:print("这是一个正数")if number % 2 == 0:print("这是一个正偶数")else:print("这是一个正奇数")
else:print("这是一个非正数")

结果:

 elif语句:

在 if elif else 结构中,多个条件是按照顺序进行检查的,只要找到第一个为真的条件,就会执行相应的代码块。示例代码如下:

代码:

# 示例:判断一个学生成绩的等级,并输出相应的信息score = float(input("请输入学生成绩:"))if score >= 90:print("优秀")
elif 80 <= score < 90:print("良好")
elif 70 <= score < 80:print("中等")
elif 60 <= score < 70:print("及格")
else:print("不及格")

结果: 

区别: 

        if else嵌套可以创建更深层次的条件判断,但可能使代码变得复杂,需要谨慎使用,以免影响代码可读性。if elif else 结构更适合处理按顺序检查多个条件的情况,一旦找到符合条件的,就执行相应的代码块。选择使用哪种结构取决于具体的情况和代码逻辑,以确保代码清晰、可维护。 

        通过这些关于条件判断语句使用的例子,希望你对Python的基础有了更深入的了解。正确的使用条件判断语句是编程旅程中的基本技能,也是打下坚实基础的最关键一步。

以上就是《Python初学者须知(10)初识条件判断》的全部内容。

如有错漏请读者斧正。

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

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

相关文章

vue3+vite创建项目--(傻瓜式教程)

1、运行创建项目命令 # 使用 npm npm create vitelatest # 使用 yarn yarn create vite # 使用 pnpm pnpm create vite剩下的就是启动以及一些配置信息 2、vitevue3路由配置信息 npm install vue-router4在src目录下新建目录叫“router”&#xff0c;新建一个js文件叫“index…

大语言模型无代码构建知识图谱(2)--环境准备

软件环境 需已安装MySQL数据库。需已安装HuggingFists系统&#xff0c;该系统将提供无代码的可视化数据开发环境。通过该系统利用大语言模型辅助知识图谱的构建。HuggingFists系统的安装可参考《HuggingFists-低代码玩转LLM RAG-准备篇》 流程环境 数据文件 进入HuggingFis…

docker 部署最新稳定版zookeeper

zookeeper 官网可用版本查询 | https://zookeeper.apache.org/releases.html 安装步骤 # 查看本地镜像 docker images# 拉取镜像 docker pull zookeeper:3.7.2mkdir -p /data/zookeeper/data # 数据挂载目录 mkdir -p /data/zookeeper/conf # 配置挂载目录 mkdir -p /data/z…

【Spring Boot 3】【Redis】消息发布及订阅

【Spring Boot 3】【Redis】消息发布及订阅 背景介绍开发环境开发步骤及源码一、创建消息发布应用二、创建消息订阅应用工程目录结构总结背景 软件开发是一门实践性科学,对大多数人来说,学习一种新技术不是一开始就去深究其原理,而是先从做出一个可工作的DEMO入手。但在我个…

Transformer 可解释性论文整理(超级详细)

Transformer 可解释性论文整理 前段时间想进一步的了解transformer的工作原理&#xff0c;于是找到了几篇可解释性的文章进行阅读&#xff0c;发现了许多比较有趣的现象和结论&#xff0c;对每篇文章都有自己的深度思考和理解&#xff0c;在此记录&#xff0c;欢迎交流。 1. …

Java多线程并发篇----第二十六篇

系列文章目录 文章目录 系列文章目录前言一、什么是 Executors 框架?二、什么是阻塞队列?阻塞队列的实现原理是什么?如何使用阻塞队列来实现生产者-消费者模型?三、什么是 Callable 和 Future?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分…

Halcon 边缘提取

文章目录 算子Halcon edges_image 示例Halcon frei_amp 示例Halcon kirsch_amp示例Halcon sobel_amp示例Halcon sobel_amp 算子示例Halcon sobel_dir 算子示例Halcon close_edges关闭图像间隙示例Halcon close_edges_length关闭图像间隙示例 算子 edges_image 对于图像进行边缘…

[CUDA 学习笔记] CUDA kernel 的 grid_size 和 block_size 选择

CUDA kernel 的 grid_size 和 block_size 选择 核函数执行配置 Execution Configuration cuda_kernel<<< Dg, Db, Ns, S >>>(...)Dg: grid 的维度和大小 (grid_size). 类型 dim3. : Dg.x * Dg.y * Dg.z 为启动的线程块(block)数.Db: 每个线程块的维度和大…

(超详细)8-YOLOV5改进-添加EMA意力机制

1、在yolov5/models下面新建一个EMA.py文件&#xff0c;在里面放入下面的代码 代码如下&#xff1a; import torch from torch import nnclass EMA(nn.Module):def __init__(self, channels, factor8):super(EMA, self).__init__()self.groups factorassert channels // sel…

MapReduce基础知识

MapReduce 1、介绍MapReduce ​ MapReduce的思想核心是“分而治之”&#xff0c;适用于大量复杂的任务处理场景&#xff08;大规模数据处理场景&#xff09;。 ​ Map负责“分”&#xff0c;即把复杂的任务分解为若干个“简单的任务”来并行处理。可以进行拆分的前提是这些小…

React16源码: React中的PortalComponent创建, 调和, 更新的源码实现

PortalComponent 1 &#xff09;概述 React Portal之所以叫Portal&#xff0c;因为做的就是和“传送门”一样的事情render到一个组件里面去&#xff0c;实际改变的是网页上另一处的DOM结构主要关注 portal的创建, 调和, 更新过程 2 &#xff09;源码 定位到 packages/react-…

Docker(一)简介和基本概念:什么是 Docker?用它会带来什么样的好处?

作者主页&#xff1a; 正函数的个人主页 文章收录专栏&#xff1a; Docker 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01; 一、简介 本章将带领你进入 Docker 的世界。 什么是 Docker&#xff1f; 用它会带来什么样的好处&#xff1f; 好吧&#xff0c;让我们带…

python插件架构介绍

一、插件架构 在 Python 中&#xff0c;插件架构通常指的是一种软件架构模式&#xff0c;它允许开发者在不改变主应用程序代码的情况下&#xff0c;向应用程序添加新的功能或修改现有功能。这种架构使得应用程序可以通过加载外部模块或组件来扩展其功能&#xff0c;这些外部模…

【ROS2】实现自定义服务接口

1 定义服务接口 在之前创建的ROS接口功能包的基础上。 int32 num1 int32 num2 --- int32 num3 2 在CmakerLists.txt中增加如下语句&#xff0c;实现对服务接口的生成 # 为接口文件生成源代码 rosidl_generate_interfaces(${PROJECT_NAME}"msg/Student.msg""…

IP劫持的危害分析及应对策略

在当今数字化时代&#xff0c;网络安全问题备受关注&#xff0c;其中IP劫持是一种常见而危险的威胁。本文将深入探讨IP劫持的危害&#xff0c;并提供一些有效的应对策略。 第一部分&#xff1a;IP劫持的定义 IP劫持是指黑客通过各种手段获取并篡改目标IP地址的控制权&#xf…

vue3+vite:封装Svg组件

前言 在项目开发过程中&#xff0c;以svg图片引入时&#xff0c;会遇到当hover态时图片颜色修改的场景&#xff0c;我们可能需要去引入另一张不同颜色的svg图片&#xff0c;或者用css方式修改&#xff0c;为了方便这种情况&#xff0c;需要封装svg组件来自定义宽高和颜色&…

react 页签(自行封装)

思路&#xff1a;封装一个页签组件&#xff0c;包裹页面组件&#xff0c;页面渲染之后把数据缓存到全局状态实现页面缓存。 浏览本博客之前先看一下我的博客实现的功能是否满足需求&#xff0c;实现功能&#xff1a; - 页面缓存 - 关闭当前页 - 鼠标右键>关闭当前 - 鼠标右…

Endnote文章编号从10开始

前部分章节已经写好&#xff0c;后续添加&#xff0c;endnote参考文献需要从特定序号如10开始 知乎回答 在word中点击Endnote&#xff0c;instant Formatting is on右下角有一个小箭头&#xff0c; 点开箭头后点击layout, 下边有一个Start with bibliography 里面输入要开始的…

Python中类的继承实现

""派生类继承了基类的一切"&#xff0c;这里创建基类曲线&#xff0c;派生类有椭圆。派生类调用基类的方法&#xff0c;只需方法名前加上基类基类名作为前缀&#xff0c;再将派生类的self和其他参数传入。 当派生类与基类有同名的方法时&#xff0c;调用的是派…

按键+数码管

key.c #include "key.h" //把led.h文件包含进来 #include "system.h" //把timer0.h文件包含进来 #include "smg.h"extern uint num; char key_value; //有按键按下 char key_shourtflag;//没有按键按下uint KeyScan () //按键扫描函数 {…