Python语言零基础入门——条件判断

目录

一、单分支选择结构:if语句

二、双分支选择结构:if-else

三、多分支选择结构

四、嵌套选择

五、match语句

match与if的对比

六、代码规范

七、练习题

1.年龄判断

2.成绩判断

3.闰年判断


一、单分支选择结构:if语句

if 条件:下级代码……

例如:

weather = '下雨'
if weather == '下雨':print('带伞')  # if语句的下级代码

运行结果:

带伞

注意:缩进影响代码执行结果。如下列代码:

age = 17
if age >= 18:print('可以进网吧')print('hello')

运行结果:(null)

 

而下列代码:

age = 17
if age >= 18:print('可以进网吧')
print('hello')

运行结果:

hello

二、双分支选择结构:if-else

if 条件:任务1……
else:任务2……

例1:

weather = ('下雨')
if weather == '下雨':print('带伞')
else:print('带帽子')

运行结果:

带伞

例2:判断年龄

age = int(input('请输入你的年龄:'))
if age >= 18:print('可以谈恋爱了')
else:print('不能早恋')

运行结果:

请输入你的年龄:17
不能早恋

三、多分支选择结构

if 条件1:任务1……
elif 条件2:任务2……
elif 条件3:任务3……
else:任务4……

例1:

score = 98
if score > 90:print('A')
elif score > 80 and score < 90:print('B')
elif score > 70 and score < 80:print('C')
else:print('D')

运行结果:

A

用双分支嵌套实现例1的功能:

score = 98
if score > 90:print('A')
else:if score > 80:print('B')else:if score > 70:print('C')else:print('D')

例1的优化:

score = 98
if score > 90:print('A')
elif score > 80:print('B')
elif score > 70:print('C')
else:print('D')

用单分支实现例1 :

score = 98
if score > 90:print('A')
if score > 80 and score < 90:print('B')
if score > 70 and score < 80:print('C')
if score <= 70:print('D')

例2:bmi计算,bmi = 体重(kg) / (身高*身高(米))。若bmi < 18.5:过瘦;18.5-23.9:正常;bmi > 23.9:过胖

w = float(input("请输入你的体重(kg):"))
h = float(input("请输入你的身高(米):"))
bmi = w / (h * h)
print('bmi为:',bmi)
if bmi < 18.5:print('过瘦')
elif bmi < 23.9:print('正常')
else:print('过胖')

运行结果:

请输入你的体重(kg):45
请输入你的身高(米):1.65
bmi为: 16.528925619834713
过瘦

四、嵌套选择

  • 在开发中,使用if进行条件判断,如果希望在条件成立的执行语句中再增加条件判断,就可以使用 if 的嵌套
  • if 的嵌套的应用场景就是:在之前条件满足的前提下,再增加额外的判断
  • if 的嵌套的语法格式,除了缩进之外和之前的没有区别
if 条件1:满足条件1的任务1……if 条件1基础上的条件2:满足条件2的任务2……else:条件2不满足时的任务3
else:不满足条件1的任务4……

五、match语句

  • Python中的match语句是Python 3.10及以后版本中引入的新特性,用于模式匹配
  • 它允许你根据对象的模式来检查对象,并执行相应的代码块。

语法规则:

  • match语句中的每个代码块由一个或多个case子句组成。
  • 每个case子句后面跟着一个模式和一个代码块。
  • 当模式匹配成功时,会执行相应的代码块。
  • 如果没有任何模式匹配成功,则可以选择使用一个默认的代码块,使用下划线_来表示。

例1:

x = 17
match x:case 1:print("x is 1")case 2:print("x is 2")case _:print("x is not 1 or 2")

运行结果:

x is not 1 or 2

例2:拼写检查

x = '-17'
match x:case '-17':print("正确")case '17':print("少写了-")case _:print("请仔细检查")

运行结果:

正确

match与if的对比:

if:

  • if语句是最基本的条件控制结构,用于基于条件测试执行不同的代码块。
  • if语句在处理简单条件和分支时非常有用。
  • 可以使用elif(else if)来添加额外的条件分支。
  • if语句不支持模式匹配,只能基于布尔表达式进行条件判断。

match:

  • match语句是Python 3.10及以后版本引入的新特性,主要用于模式匹配
  • match语句允许你根据对象的模式结构来检查对象,并根据匹配的模式执行相应的代码块
  • match语句特别适用于处理复杂的数据结构,如元组、列表、字典等,以及自定义类的实例
  • 它通过模式匹配提供了更简洁、更直观的方式来处理复杂的条件逻辑。

六、代码规范

缩进:

  • 条件判断、循环、函数定义的时候都需要用缩进来控制代码块结束
  • 小技巧:一般句尾有冒号时,都是需要缩进的
  • 四个空格或者一个tab键为一个缩进

代码编排:

  • 缩进4个空格,不能用tab键和空格混合缩进
  • 所有行限制的最大字符数为79
  • 添加适当的空行

空格

  • 二元运算符两边添加一个空格
  • 逗号、分号、冒号后边留一个空格,前面不留

七、练习题

1.年龄判断:判断年龄是否在0-120之间

age = input('请输入你的年龄:')
if age.isdigit():  # 判断是否全是数字age = int(age)if age >= 0 and age <= 120:print('输入正确')else:print("输入错误,请重新输入")
else:print('请输入阿拉伯数字')

运行结果:

请输入你的年龄:17
输入正确

2.成绩判断:两门成绩,只要有一门>=60就合格

py_score = input('请输入你的Python课程成绩:')
c_score = input('请输入你的C语言成绩:')
if py_score.isdigit() and c_score.isdigit():py_score = int(py_score)c_score = int(c_score)if py_score >= 60 or c_score >= 60:print('合格')else:print('重修')
else:if py_score.isdigit() == False:print('python成绩必须输入数字')if c_score.isdigit() == False:print('C语言成绩必须输入数字')

运行结果:

请输入你的Python课程成绩:56
请输入你的C语言成绩:93
合格

3.闰年判断:①是4的倍数且不是100的倍数;②是400的倍数

year = int(input('请输入年份:'))
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:print('是闰年')
else:print('不是闰年')

运行结果:

请输入年份:1215
不是闰年

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

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

相关文章

STM 32 GPIO 的几种工作模式怎么运行?

在嵌入式开发领域&#xff0c;STM32微控制器系列因为功能强大和灵活性而广受欢迎。 其中&#xff0c;通用输入输出&#xff08;GPIO&#xff09;是最基础的功能&#xff0c;用于与外部世界的直接电子接口。 STM32 GPIO可以配置为多种工作模式&#xff0c;以适应不同的应用场景…

OpenCV从入门到精通实战(四)——答题卡识别判卷系统

基于OpenCV的答题卡识别系统&#xff0c;其主要功能是自动读取并评分答题卡上的选择题答案。系统通过图像处理和计算机视觉技术&#xff0c;自动化地完成了从读取图像到输出成绩的整个流程。下面是该系统的主要步骤和实现细节的概述&#xff1a; 1. 导入必要的库 系统首先导入…

偏微分方程算法之一阶双曲差分法

目录 一、研究目标 二、理论推导 2.1 引言 2.2 迎风格式 2.3 完全不稳定差分格式 2.4 蛙跳格式&#xff08;Leapfrog&#xff09; 2.5 Lax-Friedrichs格式 2.6 Lax-Wendroff格式 2.7 Beam-Warming格式 2.8 隐格式 2.9 Courant-Friedrichs-Lewy条件&#xff08;CFL条…

(51单片机)第十一章-串行口应用提高

11.1 方式0应用 在第6章中&#xff0c;已经对51单片机的串行口结构做过详细介绍&#xff0c;并且通过实例讲解了串行口的4种工作方式中方式1的具体用法&#xff0c;本节详细讲述串行口方式0的用法。 串行口方式0被称为同步移位寄存器的输入/输出方式&#xff0c;主要用于扩展并…

【结构型模式】外观模式

​一、外观模式概述 外观模式定义与意图&#xff1a;外观类为复杂的子系统提供了一个统一的入口。外观模式定义了一个高层接口&#xff0c;这个接口使得这一子系统更加容易使用。&#xff08;对象结构型模式&#xff09; 外观模式的特点&#xff1a; 1.又叫做门面模式&#xf…

试驾小米SU7后,我准备退了我的订单

文 | AUTO芯球 作者 | 雷歌 我真想退了我之前大定的小米SU7Pro版&#xff01; 前两天我不是和朋友三人一起开着问界M9去试驾SU7了嘛&#xff0c; 说实话&#xff0c;这一圈下来&#xff0c;有欣喜有失望。 SU7的优点特别明显&#xff0c;也很突出&#xff0c; 就是它的底…

了解MySQL InnoDB多版本

了解MySQL InnoDB多版本 在数据库管理系统中&#xff0c;多版本并发控制&#xff08;MVCC&#xff09;是一种用于实现高并发和事务隔离的技术。MySQL的InnoDB存储引擎支持MVCC&#xff0c;这使得它可以在提供高事务性能的同时&#xff0c;也保证了数据的一致性和隔离性 MVCC简…

MySQL中的死锁预防和解决

MySQL中的死锁预防和解决 死锁是数据库管理系统中常见的问题&#xff0c;特别是在高并发的应用场景下。MySQL数据库中的死锁会导致事务处理速度减慢&#xff0c;甚至完全停止&#xff0c;因此理解并预防死锁至关重要。本文将详细介绍如何预防MySQL中的死锁&#xff0c;包括常用…

IBM SPSS Statistics for Mac:数据分析的卓越工具

IBM SPSS Statistics for Mac是一款功能强大的数据分析软件&#xff0c;专为Mac用户设计&#xff0c;提供了一系列专业的统计分析和数据管理功能。无论是科研人员、数据分析师还是学生&#xff0c;都能从中获得高效、准确的数据分析支持。 IBM SPSS Statistics for Mac v27.0.1…

C# 语言类型(一)—预定义类型值之数值类型

总目录 C# 语法总目录 参考链接&#xff1a; C#语法系列:C# 语言类型(一)—预定义类型值之数值类型 C#语法系列:C# 语言类型(二)—预定义类型之字符串及字符类型简述 C#语法系列:C# 语言类型(三)—数组/枚举类型/结构体 C#语法系列:C# 语言类型(四)—传递参数及其修饰符 C#语法…

Ubuntu 安装 wine

本文所使用的 Ubuntu 系统版本是 Ubuntu 22.04 ! 如果你使用 Ubuntu 系统&#xff0c;而有些软件只在 Windows 上运行&#xff0c;例如&#xff1a;PotPlayer&#xff0c;那么该如何在 Ubuntu 系统中使用到这些 Windows 的软件呢&#xff1f;答案是安装 wine。 简单的安装步骤如…

IDEA使用SCALA

一、在IDEA中下载插件 在设置->插件中找到scala&#xff0c;并下载。 下载完成后重启idea 二、在idea中创建spark的RDD操作项目 新建项目选中Scala。 创建完成后为项目添加java包&#xff0c;这个添加的是spark安装包中jars目录下的所有jar包 然后编写RDD操作 import or…

HBuilder真机调试检测不到荣耀Magic UI系列(包括手机和电脑)解决办法

HBuilder真机调试检测不到荣耀Magic UI系列&#xff08;包括手机和电脑&#xff09;解决办法解决方法&#xff1a; 1.在开发人员选项中开启USB调试 如何进入开发者选项&#xff1f; 设置->关于->版本号&#xff0c;点击版本号直至出现您已处于开发者模式 2.选择USB配置…

7-14 猜对了一半(*)

赛场内 n (0<n≤10) 名短跑运动员正在参加百米短跑比赛。赛场外有 m (0<m≤100) 名热心观众,他们每人都对比赛结果作出了 2 个预测。比赛结束后,运动员的名次各不相同,但令人惊奇的是每位观众都猜对了一半。请问这些运动员取得的实际名次是多少? 例如场内有 4 名运动…

【SQL每日一练】分组过滤练习题

文章目录 前言MySQL语法注意&#xff1a; 前言 题目&#xff1a;现在运营想查看每个学校用户的平均发贴和回帖情况&#xff0c;寻找低活跃度学校进行重点运营&#xff0c;请取出平均发贴数低于5的学校或平均回帖数小于20的学校。 drop table if exists user_profile; CREATE …

37-2 Python 的 requests 库发送 POST 请求

准备 sqlilabs 靶场: 构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客 一、发送 POST 请求 首先使用bp对 sqlilabs 靶场的第12关抓个包,了解这个关卡是如何发包的 打开靶场:本地ip+ /sqli-labs-master/Less-12/ 先随便输入个账号登录如…

DevOps(七)Jenkins发布第一个流水线任务

Jenkins的流水线&#xff08;Pipeline&#xff09;是一种强大的工具&#xff0c;用于定义和管理持续集成和持续交付&#xff08;CI/CD&#xff09;过程。它允许你以代码的形式&#xff08;即"Pipeline as Code"&#xff09;定义整个构建、测试和部署流程&#xff0c;…

MATLAB相关性分析

假设有4个特征值&#xff0c;分析4个特征值与因变量相关性 首先分析其各特征值的相关性程度 dataxlsread(data_path.xlsx);% 获取各特征值相关性 correlation_matrix corr(data(:, 1:end-1), data(:, end), type, Pearson);% 可视化相关性 heatmap(correlation_matrix, Colo…

第10章 物理安全要求

10.1 站点与设施设计的安全原则 假如没有对物理环境的控制&#xff0c;任何管理的、技术的或逻辑的访问控制技术都无法提供足够的安全性。 如果怀有恶意的人员获取了对设施及设备的物理访问权&#xff0c;那么他们几乎可以为所欲为&#xff0c;包括肆意破坏或窃取、更改数据。…

踏上R语言之旅:解锁数据世界的神秘密码(一)

R语言学习 文章目录 R语言学习数据矩阵与R语言表示1.创建一个向量&#xff08;随机变量、一维数组&#xff09;2.创建一个矩阵&#xff08;二维数组&#xff09;3.矩阵转置4.矩阵相加减5.矩阵相乘6.矩阵对角元素相关运算7.矩阵求逆8.矩阵的特征值与特征向量9.矩阵的Choleskey分…