Python 从入门到实战10(流程控制-选择语句)

news2025/1/11 9:52:56

我们的目标是:通过这一套资料学习下来,通过熟练掌握python基础,然后结合经典实例、实践相结合,使我们完全掌握python,并做到独立完成项目开发的能力。

      上篇文章我们通过举例学习了python 中集合的定义及相关操作。今天详细讨论流程控制语句,先学习选择语句。也是经常使用到的。

1、程序结构

一般有:顺序结构、选择结构、循环结构

顺序结构:按照编写的语句顺序依次执行,如下图所示

选择结构:根据条件语句的结构选择性执行语句,如下图所示                          

循环结构:在某个条件下会反复执行某个语句块的结构。参考如下:

2、最简单的选择语句

使用语法:   if   表达式:

                                 语句块

解释:if 后面表达式为真,语句块就执行,反之不执行

举例说明:

your_score = 68
if your_score>60:
    print("你及格了!")

her_score = 56
if her_score>60:
    print("她及格了!")

只是及格的有输出:

注意:if 表达式后面的冒号不能忘记。

3、if …else  语句

上面的例子只是满足条件的时候执行语句,是不是感觉不完整?

If …  else 语句来解决

语法格式:   if  表达式:

                                   语句块1

                          Else:

                 语句块2

举例说明:

your_score = 68
if your_score>60:
    print("你及格了!")
her_score = 56
if her_score>60:
    print("她及格了!")
else:
    print("她没有及格,下次要加油啊!")

输出:

举个实例,如计算一个数的绝对值:

number = input("请输入一个整数,我们来计算它的绝对值:")
if int(number) >= 0:
    print("输入的数的绝对值是:",number)
else:
    number = int(number) * (-1)
    print("输入的数的绝对值是:",number)

输出:

4、if …  elif …  else 语句

语句格式:   if  表达式1:

                                   语句块1

             Elif 表达式2:

                                   语句块 2

Elif 表达式3:

                                   语句块 3

                          ….

                          Else:

                                   语句块 n

执行顺序说明:若是表达式1为真,执行语块1;

表达式1为假,查看表达式2是否为真,为真执行语块2,为假的话查看表达式3

依次类推,若是上面的表达式都为假,执行else 后面的语句块

举例说明:

#成绩判断等级,如分数大于等于90为A,分数80-89为B,分数70-79为C,60-69为D,其他为E
english_score = int(input("请输入你的英语分数,我们来计算等级:"))
if english_score >= 90:
    print("你的英语成绩等级是A")
elif english_score >= 80:
    print("你的英语成绩等级是B")
elif english_score >= 70:
    print("你的英语成绩等级是C")
elif english_score >= 60:
    print("你的英语成绩等级是D")
else:
    print("你的英语成绩等级E,要加油了啊!")

输出:

5选择语句的嵌套

If…else  表达式中又嵌套if…else  表达式

语法格式:    if  表达式1:

                                            If 表达式 2:

                                            Else:

                       语句块2

                                   Else:

                                            If 表达式3:

                             语句块 3

                    Else:

                        语句块4

举例说明:

如我们要计算一个年份是不是闰年,首先我们了解一下闰年的判断规则:四年一闰,百年不闰,四百年再闰。这样我们先试着理清楚逻辑:

能被4整除但是不能被100整除的是普通闰年,能被400整除的是世纪闰年。

#一个年份输入

#若是年份对4取余,若是等于0,就需要进一步判断能不能被100整除,若是不等于0,直接判定不是闰年

#接上一步判断不能被100整除则判断是闰年,能被100整除然后在对400取余计算

从上面的简单分析可以看出是有多层嵌套。

伪代码:明显中间有两层嵌套

Your_year

如果 your_year % 4==0:

         继续判断 若是 your_year %100 ==0

                 继续判断:若是 your_year %400 ==0

                           是闰年

                       Else

                           不是闰年

               Else

是闰年

Else:

不是闰年

#输入一个年份,判断是不是闰年
your_year = int(input("请输入一个年份:"))
if your_year %4 ==0:
    if your_year %100 ==0:
        if your_year %400 ==0:
            print("你输入了:", your_year, "是闰年")
        else:
            print("你输入了:", your_year, "不是闰年")
    else:
        print("你输入了:", your_year, "是闰年")
else:
    print("你输入了:",your_year,"不是闰年")

以上输出,输入4,400,2024 是闰年,若是输入100,200,300 不是闰年

6、match …case 语句

这个和if  … elif ….else  类似,

其强大之处在于,可以匹配列表、元组、字典、类以及其他更复杂的结构。

语法:   match subject:

                          Case  <pattern_1>:

                                   <action_1>

                          Case  <pattern_2>:

                                   <action_2>

                          Case  <pattern_3>:

                                   <action_3>

                                   ……

                          Case _:

                                   <action_wildcard>

参数说明:

        Subject :必选参数,用于指定具有特定类型的数据

        <pattern_1>….:参数中的某个值,用于进行模式匹配

                  <action_1>…..:匹配上后执行语句

                  _:

                                   <action_wildcard>  :用于前面都不能匹配时执行的部分

举个小栗子:

#输入一个年份,判断是不是闰年,使用match...case 语句
def year_check(your_year):
    if your_year %4==0 and your_year %100 !=0:
        return 0
    elif your_year %400 ==0:
        return 1
    else:
        return 2
your_year = int(input("请输入一个年份:"))
check_number = year_check(your_year)
match check_number:
    case 0:
        print("是闰年")
    case 1:
        print("是闰年")
    case _:
        print("不是闰年")

这里写的复杂点了,主要是练习一下match ..case  ,输出结果参考:

今天先写到这里了,每天进步一点点。今天你加油了吗!

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

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

相关文章

初识string(一)and内存管理

对类和对象的补充&#xff1a;缺省参数在函数定义中从右向左依次赋值&#xff0c;如果从右向左有一个参数没有赋值缺省参数&#xff0c;则左边的变量就不能在赋缺省参数&#xff0c;类中的变量可以赋缺省参数并且没有限制。 在类定义中我们总是看到函数后加const。这其实是调用…

算法备案究竟难在哪里?

算法备案究竟难在哪里&#xff1f; 在当今数字化社会中&#xff0c;算法备案已成为人工智能技术应用中的一个关键环节。然而&#xff0c;对于初学者和企业来说&#xff0c;这一过程充满了挑战和复杂性。本文将深入探讨算法备案的难度和应对策略。 算法备案的挑战 首先&#xff…

标准库标头 <filesystem> (C++17)学习

此头文件是文件系统支持库的一部分。本篇介绍filesystem命名空间的一些函数。 函数 在命名空间 std::filesystem 定义 absolute (C17) 组成一个绝对路径 (函数) canonicalweakly_canonical (C17) 组成一个规范路径 (函数) relativeproximate (C17) 组成一个相对路径 (函数) c…

提高开发效率的实用工具库VueUse

VueUse中文网&#xff1a;https://vueuse.nodejs.cn/ 使用方法 安装依赖包 npm i vueuse/core单页面使用&#xff08;useThrottleFn举例&#xff09; import { useThrottleFn } from "vueuse/core"; // 表单提交 const handleSubmit useThrottleFn(() > {// 具…

Android中Fragment的最佳实践—简易版的新闻应用

文章目录 Android中Fragment的最佳实践—简易版的新闻应用app/build.gradle当中添加依赖库新建新闻实体类News新建布局文件news_content_frag.xml新建NewsContentFragment类单页模式需新建NewsContentActivity新建news_title_frag.xml新建news_item.xml新建NewsTitleFragment修…

el-date-picker年份选择默认值为当前年,并且将获取时间转为年月日格式

<el-date-pickervalue-format"yyyy"v-model"leftQuery.year":disabled"timeArr && timeArr.length ! 0 ? true : false"type"year"placeholder"选择年"changechangeYear:picker-options"pickerOptions&quo…

Python GUI入门详解-学习篇

一、简介 GUI就是图形用户界面的意思&#xff0c;在Python中使用PyQt可以快速搭建自己的应用&#xff0c;自己的程序看上去就会更加高大上。 有时候使用 python 做自动化运维操作&#xff0c;开发一个简单的应用程序非常方便。程序写好&#xff0c;每次都要通过命令行运行 pyt…

第4章-03-用WebDriver获取页面Cookie

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年CSDN全站百大博主。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 🏆本文已收录于专栏:Web爬虫入门与实战精讲,后续完整更新内容如下。 文章…

IDEA提交git代码前执行checkstyle校验

为了统一团队人员代码风格&#xff0c;在代码协同时经常会引入对应的checkstyle校验功能&#xff0c;配置好代码style后一般在IDEA执行mvn validate功能即可&#xff0c;如下图所示&#xff1a; 但是有时忘记执行怎么办&#xff0c;IDEA在代码提交前也有对应的配置&#xff0c;…

【Java并发编程 | JUC】线程

Java 线程 项目配置 pom.xml <dependencies><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.10</version></dependency><dependency><groupId>ch.qos.…

orcle 数据库 day0903

ok奥家人们&#xff0c;今天继续学习orcle数据库 一. 数据完整性 向某张表插入数据、更新、删除数据之前会对数据做校验&#xff0c;目 的就是为了确保数据的正确性、一致性、最大限度 减少重复 的数据、避免脏数据&#xff0c;这就是数据完整性。以下的数据就是脏 数据&a…

表情,符号,数字,字母,加密和解密源码

表情&#xff0c;符号&#xff0c;数字&#xff0c;字母&#xff0c;加密和解密源码 可以将表情&#xff0c;动物&#xff0c;水果&#xff0c;表情&#xff0c;手势&#xff0c;猫语&#xff0c;兽语&#xff0c;狗语&#xff0c;爱语&#xff0c;符号&#xff0c;数字&#x…

Mac M1安装Hive

一、下载解压Hive 1.官网地址 https://dlcdn.apache.org/hive/ 2.选择对应版本进行下载&#xff0c;这里我以3.1.3为例&#xff1b; 3.下载好后&#xff0c;进行解压&#xff0c;并重命名为hive-3.1.3&#xff0c;放到资源库目录下&#xff1b; 二、配置系统环境 1.打开~/…

WebGL系列教程一(开篇)

目录 1 前言2 推荐的书籍和网站3 WebGL简介4 本教程包含的主要内容预览4.1 顶点着色器4.2 片元着色器4.3 绘制点线面4.4 绘制三角形和四边形4.5 缓冲区4.6 旋转、平移、缩放4.7 动画4.8 颜色和纹理4.9 GLSL语法4.10 模型变换、视图变换、投影变换4.11 光照4.12 层次模型4.13 鼠…

【MySQL】MySQL常用的数据类型——表的操作

前言&#xff1a; &#x1f31f;&#x1f31f;本期讲解关于MySQL常用数据类型&#xff0c;表的简单使用&#xff0c;希望能帮到屏幕前的你。 &#x1f308;上期博客在这里&#xff1a;http://t.csdnimg.cn/wwaqe &#x1f308;感兴趣的小伙伴看一看小编主页&#xff1a;GGBondl…

传统CV算法——特征匹配算法

Brute-Force蛮力匹配 Brute-Force蛮力匹配是一种简单直接的模式识别方法&#xff0c;经常用于计算机视觉和数字图像处理领域中的特征匹配。该方法通过逐一比较目标图像中的所有特征点与源图像中的特征点来寻找最佳匹配。这种方法的主要步骤包括&#xff1a; 特征提取&#xff…

JAVA开源项目 图书个性化推荐系统 计算机毕业设计

本文项目编号 T 015 &#xff0c;文末自助获取源码 \color{red}{T015&#xff0c;文末自助获取源码} T015&#xff0c;文末自助获取源码 目录 一、系统介绍1.1 业务分析1.2 用例设计1.3 时序设计 二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究…

jmeter之循环控制器使用

一、循环控制器介绍及使用 循环控制器作用&#xff1a; 通过设置循环次数&#xff0c;来实现循环发送请求 位置&#xff1a;测试计划------>线程组(右键添加)------>逻辑控制器------>循环控制器 如图&#xff1a; 参数介绍&#xff1a; 循环次数&#xff1a;5 …

C语言11--特殊函数

静态函数 背景知识&#xff1a;普通函数都是跨文件可见的&#xff0c;即在文件 a.c 中定义的函数可以在 b.c 中使用。静态函数&#xff1a;只能在定义的文件内可见的函数&#xff0c;称为静态函数。 因此静态函数一般会被写在头文件中方便任何需要调用的文件直接包含即可作用&…

JavaScript 循环分支语句-dowhile循环

do/while 循环是 while 循环的变体。该循环会在检查条件是否为真之前执行一次代码块&#xff0c;然后如果条件为真的话&#xff0c;就会重复这个循环。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta htt…