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.mfbz.cn/a/567219.html

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

相关文章

Python获取上市公司报告,AI分析助力投资决策

折腾了几天&#xff0c;通过从巨潮信息网上获取上市公司的报告&#xff0c;然后实现调用大语言模型的API去分析报告内容&#xff0c;下面把相应的代码和过程分享给对这个感兴趣的兄弟姐妹们&#xff0c;希望能帮到大家。 1&#xff0c;首先去巨潮信息网首页&#xff0c;右上角…

vuex和pinia转态管理工具介绍

文章目录 一、介绍二、使用1、pinia使用2、Vuex使用 一、介绍 相同点&#xff1a; 都是Vue.js的状态管理工具 不同点&#xff1a; 区别PiniaVuex支持Vue2和Vue3都支持Vue3写法需要额外配置Mutation只有 state, getter 和 action&#xff0c;无Mutationaction异步、Mutation …

埋点,自己写插件,自己写的按钮埋点,掘金同款投递简历

20分钟掌握 Vite 插件开发 - 掘金 vite的生命周期啥的 1.浏览器的控制台输出有样式的字 // const randomLetterPlugin ()>{ // const letters [wwwwwww,000000000000,888888888888]; // //随机获取一个字符并打印 // const printRandomLetter ()>{ // …

如何更好的管理个人财务?使用极空间部署私有记账系统Firefly III

如何更好的管理个人财务&#xff1f;使用极空间部署私有记账系统Firefly III 哈喽小伙伴们好&#xff0c;我是Stark-C~ 不知道屏幕前的各位“富哥”日常生活中是怎么管理自己巨额财富的&#xff0c;反正对于像我这样年薪过千的摸鱼族来说&#xff0c;请一个专业的理财顾问多多…

电子签名在人力资源中的应用:让HR工作更高效

人力资源&#xff08;HR&#xff09;行业是电子签领域的重要应用之一&#xff0c;它可以在以下场景中使用电子签&#xff1a; 1. 在招聘流程中&#xff0c;HR部门可以利用电子签名工具来完成与招聘候选人之间的任何文件签署操作。例如&#xff0c;维护人才库数据库、简历、面试…

世界读书日 | 开发者必读书单重磅来袭,华为云DTSE专家天团力荐

春色恰如许&#xff0c;读书正当时。 读书&#xff0c;就像解锁一把神秘钥匙&#xff0c;为开发者洞开新世界的大门&#xff0c;赋予他们破译复杂难题的能力、挑战未知领域的勇气。书页翻动间&#xff0c;开发者得以站在巨人的肩膀上&#xff0c;汲取前人经验&#xff0c;积蓄…

RANSAC 配准算法

RANSAC 配准算法 1. 简介2. RANSAC步骤3. RANSAC原理4. RANSAC的优缺点5. 代码实现6. 参考 1. 简介 先讲一下背景吧。 点云配准&#xff08;Point Cloud Registration&#xff09;指的是输入两幅点云 (source 和 target) &#xff0c;输出一个变换使得变换后的source和target…

管理 Python 项目的艺术:在 PyCharm 中使用虚拟环境(以BPnP为例)

在 PyCharm 中使用虚拟环境对于 Python 项目开发具有多方面的重要作用&#xff0c;这些作用体现在提升项目管理的效率、保障代码的可运行性以及维护项目的长期稳定性等方面。以下是使用虚拟环境的几个关键好处&#xff1a; 1. 依赖管理和隔离 虚拟环境允许每个项目拥有…

深度相机(3D相机)

传统的RGB彩色相机称为2D相机&#xff0c; 只能得到2D的图像信息&#xff0c; 无法得到物体与相机的距离信息&#xff0c;也就是深度信息。 顾名思义&#xff0c; 深度相机除了获取2D信息&#xff0c;还能得到深度信息&#xff0c;也叫RGBD相机&#xff0c; 或3D相机。 顺便提…

CSS介绍及三种应用方式[内联,内嵌,外链]元素及实例讲解

css介绍 CSS&#xff08;Cascading Style Sheets&#xff09;是一种用于描述HTML文档外观和格式的样式表语言。CSS允许开发者和设计师将网页的呈现&#xff08;布局、颜色、字体等&#xff09;与内容&#xff08;HTML&#xff09;分离开来&#xff0c;从而使得网页的设计更加灵…

vue2+vxe-table实现表格增删改查+虚拟滚动

vue2vxe-table实现表格增删改查虚拟滚动 使用的vxe-table版本&#xff1a;v3.x (vue 2.6 长期维护版) 完整代码 <template><div><vxe-toolbar ref"xToolbar" export :refresh"{query: findList}"><template #buttons><vxe-b…

vulhub weblogic全系列靶场

目录 简介 需要使用的工具 CVE-2017-10271 0x00 漏洞产生原因 0x01 影响范围 0x02 漏洞地址 0x03 环境 0x04 漏洞复现 1. 手工 2. 漏洞利用工具 CVE-2018-2628 0x00 漏洞产生原因 0x01 影响范围 0x02 环境 0x03 漏洞复现 1.nmap扫是否是T3协议 2.漏洞检测&…

【C++】详解初始化列表,隐式类型转化,类静态成员,友元

前言 初始化列表是对构造函数内容的补充&#xff0c;小编会详细的讲解初始化列表的概念&#xff0c;特性&#xff0c;注意点。这是本篇内容的重头戏&#xff0c;小编会先提一个问题来抛砖引玉。 隐式类型转换顾名思义&#xff0c;首先它不需要主动转换&#xff0c;类似于把浮点…

抖音运营全攻略 沈阳新媒体运营培训

抖音发展趋势 数据显示&#xff0c;2023年&#xff0c;抖音日活量突破10亿。是目前最火的短视频软件。 抖音的总用户数量已超过12亿&#xff0c;日活10亿&#xff0c;人均单日使用时长超过2小时&#xff0c;这只是平均数据&#xff0c;其实大部分人刷抖音时间会超过3个小时&am…

Hive数据类型

1.基本数据类型 示例&#xff1a; -- 创建表并定义列的数据类型 CREATE TABLE data_types_example (tinyint_column TINYINT,smallint_column SMALLINT,int_column INT,bigint_column BIGINT,boolean_column BOOLEAN,float_column FLOAT,double_column DOUBLE,string_column S…

HSB矩形调色板设计和计算方法

HSB矩形调色板设计和计算方法 RGB调色板绘制较容易&#xff0c;HSB调色板较难绘制&#xff0c;前些天发文介绍了几个矩形样例的绘制方法&#xff0c;今介绍矩形的HSB调色板的设计方法和H,S,B值的计算方法&#xff0c;好东西必须与大家分享。 此文介绍HSB调色板和选色条的绘制方…

jdbc操作数据库 and 一个商品管理页面

文章目录 1. 介绍1.1 应用知识介绍1.2 项目介绍 2. 文件目录2.1 目录2.2 介绍以下&#xff08;从上到下&#xff09; 3. 相关代码3.1 DBConnection.java3.2 MysqlUtil.java3.3 AddServlet.java3.4 CommodityServlet.java3.5 DelectServlet.java3.6 SelectByIdServlet.java3.7 S…

Springboot 结合PDF上传到OSS

目录 一、首先注册阿里云OSS&#xff08;新用户免费使用3个月&#xff09; 二、步骤 2.1 将pdf模板上传到oos 2.2 这里有pdf地址,将读写权限设置为共工读 ​编辑 三、代码 3.1 pom.xml 3.2 配置文件 3.3 oss model 3.4 配置类(不需要修改) 3.5 将配置类放入ioc容器 3.…

【C++】:构造函数和析构函数

目录 前言一&#xff0c;构造函数**1.1 什么是构造函数****1.2 构造函数的特性**1.3 总结 二&#xff0c;析构函数**2.1 什么是析构函数****2.2 析构函数的特性****2.3 总结** 前言 如果一个类中什么成员都没有&#xff0c;简称为空类。 空类中真的什么都没有吗&#xff1f;并…

JetBrains PhpStorm v2024.1 安装教程 (PHP集成开发IDE)

前言 PhpStorm是由JetBrains推出的一款轻量级集成开发环境&#xff0c;专为PHP开发者而设计。该软件融合了智能的HTML/CSS/JavaScript/PHP编辑器、代码质量分析工具、版本控制系统集成&#xff08;包括SVN和GIT&#xff09;、调试和测试等功能。除此之外&#xff0c;PhpStorm还…
最新文章