九、Python第九课——Python中的if语句与运用

 (请先看置顶博文)https://blog.csdn.net/GenuineMonster/article/details/104495419

目录

一、if语句

1、检查变量存储的值是否相等 

2、判定字母或字符串时区别大小写

3、检查多个条件 

4、检查特定值是否在列表中 

二、if-else语句和if-elif-else语句

1、if-else语句

2、if-elif-else语句

三、使用if语句处理列表


 

    众所周知,if的英文意思是“如果”,有if的一般是条件语句,在Python中也是如此。程序世界中,我们经常会用到if语句,对当前的状态、某一变量的数值进行判断,从而进行不同的操作。接下来我将会介绍if语句的语法以及if语句在列表中的应用。

一、if语句

我看的书中直接给出if与列表配合使用的用法,那么我们这里也以代码举例说明,为了码字方便,我直接在代码里增加备注说明。 

#made by Jeffery
#Happy day
#10.21
cars=['audi','bmd','subaru','toyota']    
#创建一个轿车列表,其中bmw在输出时需要全部大写,所以,我们接下来用if语句对bmw和其它轿车品牌进行区别
for car in cars:  #循环语句,提取列表中的元素与bmw进行比对if car=='bmw':#如果比如成功,那么就全部大写输出print(car.upper())else:         #比对失败,那么就以首字母大写的方式输出轿车品牌print(car.title())

 在这个if语句的示例中需要说明的地方有以下几点:

A、C语言中,if语句要把判断条件的等式放入括号内。而在Python中,一般不用放入括号内。除非需要判断的条件众多,增加括号以提高代码阅读性。

B:if关键字后跟着的等式和C语言一样是两个等号(“==”)或者没有等号,后者所描述的情况我将会在下面的内容举例说明。

C:每次if语句写完条件后,要在后面写“:”(冒号),意思是如果满足这个条件,代码将会执行什么操作。

每条if语句的核心都是一个值为True或False的表达式,这种表达式在Python中被称为条件测试。如果条件测试的值为True,Python就执行紧跟在if语句后面的代码;如果为False,Python就忽略这些代码。 

1、检查变量存储的值是否相等 

        Python中的if语句可以很方便的检查两个变量的值是否相等,变量的值包括数值(数字)、字符串、字母等,一般用“==”(两个等号)来对两者(特定值和变量值)进行判定,如果二者“相等”,则返回True,否则返回False。

对于1个等号、2个等号的理解:1个等号是“赋值”:将等号右侧的特定的值赋给等号左侧的变量;2个等号是“判定”:判定2个等号左右两侧的值(数字、字符串、字母)是否相等。同样,可以判断相等,也就可以判断不相等(将“==”替换为“!=”)用感叹号表示不相等的意思。实列代码图下所示:

word="interesting"
a='Interesting'
if(a!=word):print("两个单词的大小写不一致!")

2、判定字母或字符串时区别大小写

字母或字符串通常涉及到大小写问题,有的情况区别大小写,如账号密码;有的情况则相反,如单词的简单拼写,大小写无关紧要。所以在检查字母大小写时,可以根据实际情况使用upper、lower等函数对字母或字符串进行大小写转换(转换为临时转换)。下面用代码举例子。

word="interesting"
a='Interesting'
if(a.lower()==word):print("两个单词意思一样!")
else:print("两个单词意思是不一样的")
print('a中存储的单词是否被改变了呢?让我们看一下!')
print(a)  #输出a中的单词,确定其没有改变

3、检查多个条件 

 多个条件就与中学数学中的“与”、“或”一样了。

A、判断多个条件同时满足,就用“and”将这些条件连接起来:如果每个条件都满足,则整个表达式就为True;如果有一个条件不满足,那么整个表达式就为False。下面用代码举例:

a=10 #将三个数字存储在a、b、c三个变量中。
b=15
c=12
if(c<b and c>a): #对a的数字进行两个条件的判断print("c中存储的数字在a和b之间!")
else:print("c中存储的数字不在a和b之间!")

上述代码if后的语句可以用(c<b) and (c>a)代替,提高可读性。 

B、如果多个条件只需要一个满足就ok的,那么就用“or”连接这些条件:只要有一个条件满足,那么整个表达式就为True。都不满足,整个表达式才为Fasle。请看例代码:

a=10 #将三个数字存储在a、b、c三个变量中。
b=15
c=20
if(c<b or c>a): #对a的数字进行两个条件的判断,显然c>aprint("c中存储的数字在a和b之间!")
else:print("c中存储的数字不在a和b之间!")

4、检查特定值是否在列表中 

有时候,执行操作前必须检查列表是否包含特定的值。比如你在注册某度云盘时,使用的用户名是唯一的,所以需要检测即将注册的的新的用户名是否和已存在的用户名冲突。此时,即可使用“in”来实现本操作。有时检查不在列表里的效率更高一点,那么可以使用关键字“not in”实现对应操作。

请看里代码:

a=[1,2,3,4,5] #创建一个数字列表
print("数字列表为:",a)
if(1 in a): #使用in关键字,对1是否在本数字列表进行判断print("1在数字列表中!")
else:print("1不在数字列表中!")
if(10 in a): #使用in关键字,对10是否在本数字列表进行判断print("10在数字列表中")
else:print("10不在数字列表中!")

 简单在这里提一下:布尔表达式是条件测试的别名,其结果也是True或者False。

二、if-else语句和if-elif-else语句

1、if-else语句

在之前演示的例代码中,我也有做过if-else语句的举例:其基本使用语境是满足a,执行a1;否则,执行b1。这里再给出一个参考书中的例代码,供大家理解:

age=17#定义年龄
if age >=18:#大于18岁进行下面两个输出print("You are old enough to vote")print("Have you registered to vote yet?")
else:       #小于18岁进行下面两个输出print("Sorry, you are too young to vote")print("Please register to vote as soon as you turn 18")

if-else语句非常适合让Python执行两种操作之一的情况。另外,在写if-else条件语句时 ,有2个需要注意的地方:a、不要丢掉if语句后的“:”(冒号)以及else语句后的“:”(冒号)。b、注意缩进,如果缩进不一致,输出结果和你想象的就不一样了。

2、if-elif-else语句

 如果需要进行多个检查,如“景区根据游客年龄的不同进行分段收费”的操作,就得使用if-elif-else语句了。例代码:

age = 12
if age < 4:print("Your admission cost is $0")
elif age < 18:     #注意缩进print("Your admission cost is $5")
else:print("Your admission cost is $10")

如果这个景区根据游客年龄段进行收费的制度极为详细(每10岁就是一个收费区间)那么,我们在编写代码的时候就可以使用多个“elif”,并且需要注意的是“缩进问题”和“冒号的问题”。虽然我们说的是与if-elif-else的问题,但是在Python中并不要求if-elif结构后面必须有else代码块。在有些情况下,else代码块很有用;而在有些情况下,用一条elif语句来处理特定的情形更清晰。(else可谓是“包罗万象”:只要是不满足if、elif中的条件测试,else中的代码就会执行,这可能就会引入无效甚至是恶意的数据)

通过上述的例代码就可以看出,if-elif-else语句仅适合于只有一个条件满足的情况,一旦条件满足,Python就会跳过余下的条件检查。然而有些情况就需要对所有的条件进行一一检查,此时就是用简单的if语句就好了。例代码如下:

问题大意——检查顾客点的小料是否还有,有的话就显示“添加什么什么小料”,没有的话就跳过,最后打印“披萨做好了”

requested_toppings=['mushrooms','extra cheese']
if 'mushrooms' in requested_toppings:print("Adding mushrooms.")
if 'pepperoni' in requested_toppings:print("Adding pepperoni.")
if 'extra cheese' in requested_toppings:print("Adding extra cheese.")
print("\nFinished making your pizza!")

 

这个程序运行时就进行了三个独立的条件检验,进而根据每个条件检验的结果,输出。

三、使用if语句处理列表

       此小节的学习目标是:学会如何检查列表中的特殊值,并对其做出合适的处理。我们继续使用前面的披萨店的例子:披萨店在制作披萨的过程中,每添加一种配料就打印一条消息。要求创建一个列表,包含顾客点的配料,并使用一个循环指出添加到披萨中的配料。代码如下所示:

requested_toppings=['mushrooms','green peppers','extra cheese']
for requested_topping in requested_toppings:print("Adding "+ requested_topping+". ")
print("Finshed making your pizza!")

      此时,如果披萨店的青椒用完了,那该如何处理?此时可以在for循环语句中包含一条if语句,向顾客表明我们的青椒用完了。代码修改如下:

requested_toppings=['mushrooms','green peppers','extra cheese']
for requested_topping in requested_toppings:if requested_topping=='green peppers':print("Sorry, we are out of green peppers right now. ")else:print("Adding "+ requested_topping+". ")
print("Finshed making your pizza!")

       随着我们学习的深入,我们要逐渐把我们之前规定的假设去除掉。至今为止,有关列表我们做的最大的假设是“列表不为空!”。这在实际生活中是不可能一直存在的,所以我们要去掉这个假设。这个过程就需要我们在对列表进行操作前“判空”(判断列表是不是空的列表)那么我们上面的代码就有如下修改:

requested_toppings=[]
if requested_toppings:  #如果列表不为空,则执行for循环。#(这个if语句课以理解为“列表中有东西吗?”有执行循环)for requested_topping in requested_toppings:print("Adding " + requested_topping + ". ")print("Finshed making your pizza! ")
else:print("Are you sure you want a plain pizza? ")

我们继续深入:顾客的要求是五花八门的,如果有的顾客要求在披萨里加薯条怎么办?我们就需要写代码来对他们的要求一一回应。此时,我们可以定义两个列表,一个是我们可以提供的原材料,一个是顾客提出来的。代码如下:

available_toppings=['mushrooms','olives','green peppers','pepperoni','pineapple','extra cheese']
requested_toppings=['mushrooms','french fries','extra cheese']
for requested_topping in requested_toppings:if requested_topping in available_toppings:print("Adding " + requested_topping + ". ")else:print("Sorry, we do not have "+requested_topping+". ")
print("\nFinished making your pizza! ")

可能有细心的同学注意到了,在上述代码的第四行,检验顾客提到的小料是否在我们能提供的小料范围时,我们一条if语句就搞定了,而不是像C语言那样,还得针对requested_topping 去遍历列表available_toppings中的每一个元素。另外,学习完本节内容,可能就会 增多对==,!=,>=,<=等符号的使用。PEP 8曾给出建议,要在比较运算符的两侧各添加一个空格,以提高代码的阅读性。

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

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

相关文章

十、Python第十课——字典的些许知识(重点)

&#xff08;请先看置顶博文&#xff09;https://blog.csdn.net/GenuineMonster/article/details/104495419 目录 &#xff08;请先看置顶博文&#xff09;https://blog.csdn.net/GenuineMonster/article/details/104495419 初识字典 1、创建字典 2、字典的“增删改查” …

百度地图API如何申请?(自认为比较详细,如解决了你的问题请收藏、点赞、关注)

&#xff08;请先看置顶博文&#xff09;本博打开方式&#xff0c;请详读_liO_Oil的博客-CSDN博客_怎么把androidstudio卸载干净 注意&#xff1a;自己申请的AK要保存好&#xff0c;最好不要外借&#xff0c;避免不必要的麻烦&#xff01;&#xff08;写在前面&#xff09; 目…

PythonPyqt5项目开发完成后如何使用pyinstaller打包——以Pycharm编辑器为例(目前为止最正确的版本,成功打包日期为2020.11.26)

&#xff08;请先看置顶博文&#xff09;本博打开方式&#xff0c;请详读_liO_Oil的博客-CSDN博客_怎么把androidstudio卸载干净 最近用Python开发了一个可视化界面&#xff0c;开发过程如鱼得水&#xff0c;几乎没有BUG出现&#xff08;项目简单&#xff09;。但是在临近交付时…

十一、Python第十一课——用户输入和另一种循环(While)

&#xff08;请先看置顶博文&#xff09;https://blog.csdn.net/GenuineMonster/article/details/104495419 学了这么久的Python&#xff0c;大家肯定会好奇&#xff0c;不是说机器学习吗&#xff1f;不是人机交互吗&#xff1f;不是人工智能吗&#xff1f;怎么我学了Python都十…

如何让新创建的Python文件自动生成作者信息等内容(以Pycharm为例)

&#xff08;请先看置顶博文&#xff09;https://blog.csdn.net/GenuineMonster/article/details/104495419 打开Pycharm软件后&#xff0c;点击“File”&#xff0c;然后点击“Settings”&#xff0c;就会出现下面截图界面&#xff1a;然后按照箭头所指&#xff0c;在对应位置…

如何将谷歌浏览器的背景色(包括显示的网站界面等)全部调为黑色?2020.12.28

&#xff08;请先看置顶博文&#xff09;https://blog.csdn.net/GenuineMonster/article/details/104495419 因为电脑显示器正对窗户的原因&#xff0c;平时为了透气通风不能使用遮光帘&#xff0c;所以我将整个电脑的所有软件的主题色设为黑色&#xff0c;这样能降低一些光的…

Windows 10如何消除文件夹右上角的“相对箭头”?

&#xff08;请先看置顶博文&#xff09;本博打开方式&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;_Cat-CSDN博客 整理笔记本电脑时发现&#xff0…

目标检测第1步:如何在Windows 10下安装MiniConda?

&#xff08;请先看置顶博文&#xff09;本博打开方式&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;_Cat-CSDN博客 目录 一、Conda是什么&#xff…

十二、Python第十二课——函数

&#xff08;请先看置顶博文&#xff09;https://blog.csdn.net/GenuineMonster/article/details/104495419 目录 &#xff08;请先看置顶博文&#xff09;https://blog.csdn.net/GenuineMonster/article/details/104495419 目录 目录 &#xff08;请先看置顶博文&#xff…

目标检测第2步:如何在Windows 10下安装Anaconda?

&#xff08;请先看置顶博文&#xff09;本博打开方式&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;_Cat-CSDN博客 想要学习目标检测的朋友可能会发…

目标检测第3步:如何在Windows 10系统下安装CUDA(更新时间2022.03.22)

&#xff08;请先看置顶博文&#xff09;本博打开方式&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;_Cat-CSDN博客 目录 一、自检 1、查看PC是否…

目标检测第5步:如何在Windows 10系统下,搭建YOLOv5(5.0)环境?保姆级,没有人比这个更详细了(更新时间2022.3.22)

&#xff08;请先看置顶博文&#xff09;本博打开方式&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;_Cat-CSDN博客 目录 一、安装Anaconda或Minic…

如何将Word与Endnote再次相互关联?

&#xff08;请先看置顶博文&#xff09;本博打开方式&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;_Cat-CSDN博客 Endnote是每一个科研人员都接触…

十三、Python第十三课——类(包含对类的相关概念的理解,这一文的附录让你彻底明白类和对象)

&#xff08;请先看置顶博文&#xff09;https://blog.csdn.net/GenuineMonster/article/details/104495419 目录 &#xff08;请先看置顶博文&#xff09;https://blog.csdn.net/GenuineMonster/article/details/104495419 一、类和对象 1、类 2、对象 二、类的创建和实例…

十四、Python第十四课——文件和异常

&#xff08;请先看这篇文章&#xff1a;https://blog.csdn.net/GenuineMonster/article/details/104495419&#xff09; 如果看完这篇博文&#xff0c;你的问题还是没有解决&#xff0c;那么请关注我的公众号&#xff0c;后台发消息给我吧&#xff0c;当天回复&#x…

目标检测第6步:YOLOv5(5.0)如何在Colab中训练自定义数据集?(更新时间:2022.3.22)

&#xff08;请先看这篇文章&#xff1a;本博打开方式&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;_Cat-CSDN博客&#xff09; 如果看完这…

十五、Python第十五课——测试代码

&#xff08;请先看这篇文章&#xff1a;https://blog.csdn.net/GenuineMonster/article/details/104495419&#xff09; 也许你听过软件测试&#xff1f;编写函数或类时&#xff0c;可以为其编写对应的测试代码。通过测试&#xff0c;可检验代码是否能够按照编写意图工作。在…

Windows 10环境下如何安装CMake?(更新时间:2021.9.13)

&#xff08;请先看这篇文章&#xff1a;本博打开方式&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;_Cat-CSDN博客&#xff09; 1、下载Cmake 下…

Windows 10环境下AndroidStudio安装教程(内含如何配置Http Proxy)

&#xff08;请先看这篇文章&#xff1a;本博打开方式&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;_Cat-CSDN博客&#xff09; 一、AndroidStudi…

如何将Android Studio卸载的干干净净?

&#xff08;请先看这篇文章&#xff1a;本博打开方式&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;请详读&#xff01;&#xff01;&#xff01;_Cat-CSDN博客&#xff09; 1、打开控制面板&…