当前位置: 首页 > news >正文

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

我们的目标是:通过这一套资料学习下来,通过熟练掌握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.mrgr.cn/news/21423.html

相关文章:

  • 2024 年高教社杯全国大学生数学建模竞赛B题第二问详细解题思路(终版)
  • Redis 缓存深度解析:穿透、击穿、雪崩与预热的全面解读
  • WebGL系列教程一(开篇)
  • isxdigit函数讲解 <ctype.h>头文件函数
  • 认知杂谈51
  • 【LeetCode】15.三数之和
  • Chrome下载视频的插件
  • 四个pdf软件分享,你更爱哪一款?
  • Centos9 网卡配置文件
  • ComfyUI+Krea免费利用AI制作网站萌宠IP,五步搞定制作AI萌宠
  • 找到字符串中所有字母异位词问题
  • 【深入理解SpringCloud微服务】深入理解nacos配置中心(二)——客户端启动源码分析
  • LLM大模型:将爬虫与大语言模型结合
  • 部署若依Spring boot项目
  • 基于javaweb的茶园茶农文化交流平台的设计与实现(源码+L文+ppt)
  • HTML 基础,尚优选网站设计开发(二)
  • C++ 上位软件通过Snap7开源库访问西门子S7-1200/S7-1500数据块的方法
  • Java集合
  • 【每日刷题】Day112
  • Danbooru风格图片分享平台szurubooru