Python学习基础篇 分支语句

前言:本专栏以Python为主题,并尽可能保持每星期两到三更,直到将Python的基础知识浅析和讲解完毕,同时,有一定基础的同学可以移步 Python实战专栏 。

背景:对于该系列文章的前三篇,自己读过的同学应该能发现一个问题,那就是我们写的所有代码都是一路“直行”的,无法根据指定条件选择不同的途径,这显然是不合理的。就好像你要到达一个目的地,只会盲目直行,不会根据特定条件停止或者转弯,那大多数时候你是无法到达这个目的地的。在Python的程序设计就,就提供了用于“转弯”的语句,即 if,elif,else这三个关键词组成的语句。以下将以Python中的分支语句为主题进行展开。

  1. Python中的分支的主要结构(3种)
# 第一种    
if condition:     
     dosomething
# 第二种    
if condition:     
     dosomething    
else:     
     doanotherthing    
# 第三种    
if condition_1:     
     dosomething    
elif condition_2:     
     do_another_thing    
else:     
     do_other_thing    
###### 代码说明,请先注意,以上的代码是不能运行的,这里只是想告诉你一个分支的主要结构,能运行的代码稍后会有说明。

首先,上面展示了三种Python中的分支结构。先看看第一种,仔细观察,会发现这么一个特点,那就是,以 if为关键词,声明这是一个分支,然后 if 的后面跟一个条件,这里用condition来概括,那么这个条件有什么用呢?是这样子的,以 5==6 这个代码为例,这是一个判断左右两边数字是否相等的条件,如果相等,那这行代码运行之后会得到 Ture ,但不会显示在屏幕上,对于 if来说,如果与它同行并且在其后面的 码运行只会返回了 True 或者数字 1,那么就会满足这个 if 分支下面的代码执行条件,该分支下面的代码块就会被执行。再看看 if 所在行的那个一个冒号,它标志这条件的结束,即 if 和 冒号之间包裹着条件。接着看 if 的下一行,你会发现 dosomething 与f的水平距离不一致,这个距离一般为一个 Tab 键的长度,这有什么用呢?它的作用就是为了区分代码的层次等级,以这个 if 分支为例,dosomtehing与 if 的水平距离为一个 Tab 键,那这个dosomething就从属于if。如果 if 是爸爸,那 dosomething就是亲生子女。当然子女如果再繁殖,那之前的子女就会变爸爸,之前的爸爸就会变爷爷了,依次类推(这属于分支嵌套的范畴,暂不展开讨论)。

第一种讲完,接下来是第二种。仔细观察,发现第二种与第一种的差别是,多了一个 else。这如何理解呢?else就是否则的意思,if 是如果。举个例子,如果今天下雨我就不出去玩,否则我就出去玩。这个例子中 “今天不下雨” 对于第二种代码中的 condition ,而else与冒号之间并没有所谓的condition,这是因为没有必要,我只要对 “今天不下雨” 这个条件进行否定就行了,没有必要再列举出其他条件(如果想列举请看第三种),而出不出去玩就是满足某个条件之后要去做的事情了。所以else可以理解为,"如果满足排除condition的一切其他条件"。这么看,else也和if的本质上都是一样的,都是对某个或者多个条件进行判断,else只是偷了一下懒,不过它很大度,满足不了 if 的条件都能满足它。至于else下一行的do_another_thing就无需多言了,和if中的dosomething一样,都是满足某个条件之后要执行的代码块。

最后是第三种,生活中的条件不可能全部都只有两种。在Python中,如果你想处理多个条件,那第三种分支结构很有必要,第三种分支结构特点是,先if,然后 if 后面可以有多个elif,elif的意思的如果不满足前面条件并且满足elif后面跟着的条件那就执行该elif分支下面的代码块,这么讲可能不好理解,没关系,下面有举例。并且elif的后面可以跟着else,当然也可以省略。

以上是一些理论,下面我们将通过一个两个程序来运用这些知识。

# 设定初始用户名    
account = '123456'    
# 设定初始密码    
password = '123456'    
# 接受用户输入的用户名并存储到 ac 这个变量中    
ac = input("请输入用户名:")    
# 接受用户输入的密码并存储到 pwd 这个变量中    
pwd = input("请输入密码:")    
# 判断输入的用户名与给定的用户名是否一致,如果一致就继续判断密码与给定的密码是否一致    
if ac==account:     
# 如果给定的密码与输入的密码一致,输出 登录成功 这个信息     
if password == pwd:         
     print("登录成功!")     
# 否则(即给定密码与输入的密码不一致),输出 密码有误 这个信息     
else:         
     print("密码有误")    
# 否则(即输入的用户名与给定的不一致),输出 用户名有误,登录失败 这个信息    
else:     
     print("用户名有误,登录失败!")

上面这个程序的目的是,从键盘中接受用户输入的账户与密码,再与给定的账户与密码进行比对以达到验证登录的目的。代码注释已附上。

age = input("输入你的年龄:")    
# 通过 input 函数接受的输入类型都是字符串,后续为了用数字进行比较,故此选用int函数将字符串转为数字    
age = int(age)    
#  < 用于 数字的大小比较,即左边的是否小于右边    
if age<0:     
    print("年龄不会有比 0 小的吧?")    
#  <= 用于 数字的大小比较,即左边的是否小于或者等于右边,    
#  只要满足小于或者等于这其中的任意一个条件,那么这个条件就是成立的    
elif 0<=age<18:     
    print("祖国的花朵!")    
elif 18<=age<45:     
    print("祖国的中坚力量!")    
else:     
    print("前辈辛苦了!")

上面这个程序的目的是,从键盘中接受用户输入的年龄(千万要记得将其转化为数字),再根据特点条件输出不同提示信息。代码注释已附上。

2.Python中的分支的结构常用词

代码演示

if 5==6:
    print('5和6相等')
else:
    print('5和6不相等')

if 5<=6:
    print('5小于或者等于6')
else:
    print('5大于6')
if 5<6 and 8<9:
    print("5比6小并且8比9小")
else:
    print("5大于或者等于6,或者8大于或者等于9")
if 5<6 or 7>8:
    print("5小于6或者7大于8")
else:
    print("5大于等于6并且7小于等于8")

以上代码展示是表格中几个关键词的用法,建议都要熟练掌握。

总结:本文对Python中基本分支结构进行的简要讲解,这一块的知识点是非常重要的,大家要好好内化。最后,对文章有疑惑或者发现文章不妥之处可以在评论区留言讨论哦!

展开阅读全文

页面更新:2024-02-13

标签:分支   冒号   语句   用户名   条件   密码   结构   代码   发现   数字   基础   用户

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top