if语句在开发的时候很多情况都会使用if判断,比如:用户登陆、付款、人脸识别、或者指纹识别开门等等都会用到判断。
分支判断
上一章提到了
if 要判断的条件: 条件成立时,要做的事情
想一想:在使用if的时候,它只能做到满足条件时要做的事情。那万一需要在不满足条件的时候,做某些事,该怎么办呢?
答:使用 if-else
if…else就像你走在一个人字路口,面前有两条路,你会选择走哪一条路。每一条路的结局不同。
if-else的使用格式:
if 条件: 满足条件时的操作 else: 不满足条件时的操作
比如我们登陆就是很典型的if…else结构:
username = input('请输入用户名: ') password = input('请输入密码: ') # 用户名是admin且密码是则身份验证成功否则身份验证失败 if username == 'admin' and password == '': print('身份验证成功!') else: print('身份验证失败!')
但是还有些场景是需要有多重的判断的。比如:当条件A满足时做事情1;当条件A不满足、条件B满足时做事情2;当条件B不满足、条件C满足时做事情3,那该怎么实现呢?
那通过程序如何实现呢?
答:elif
elif的使用格式如下:
if xxx1: 事情1 elif xxx2: 事情2 elif xxx3: 事情3
说明:
- 当xxx1满足时,执行事情1,然后整个if结束
- 当xxx1不满足时,那么判断xxx2,如果xxx2满足,则执行事情2,然后整个if结束
- 当xxx1不满足时,xxx2也不满足,如果xxx3满足,则执行事情3,然后整个if结束
还可以和else一起使用,elif必须和if一起使用,否则出错 else 一般用在最后,即所有条件都不满足时使用
if嵌套
思考一个问题:
当你坐火车或者地铁时,先进行安检如果安检通过才会判断是否有车票,或者是先检查是否有车票之后才会进行安检,即实际的情况某个判断是再另外一个判断成立的基础上进行的,这样的情况该怎样解决呢?
if嵌套的格式:
if 条件1: 满足条件1 做的事情1 满足条件1 做的事情2 if 条件2: 满足条件2 做的事情1 满足条件2 做的事情2
循环语句
你操作电脑的时候有没有遇到循环的情况?比如登陆,输入了好几次都没有成功,为什么可以反复的输入呢?比如游戏某一关很难,你过不去,你要循环的玩一遍又一遍。这些都是我们平时遇到的循环场景
在Python中我们用什么实现的呢?
- while
- for
先讲while循环的使用。
while 语法
while 判断条件: 代码块
发现while循环的语法结构和if语句的结构很相像
if 判断条件: 代码块
区别在于,if语句只会执行一次判断条件,条件成立以后,只会执行一次代码块;而while语句,会先执行一次判断条件,如果条件成立,会执行一次代码块,代码块执行完成以后,会再次判断条件语句,如果还成立,将会再执行代码语句… 直到最后条件不成立。
比如使用上面的结构,输出十遍hello world
i=1 while i<=10: print('hello world') i+=1 # 一定要记得让 i += 1, 否则会造成死循环
在写上面的代码块的时候,我们有几点需要注意:
- 初始化变量i
- 循环条件的制定
- 自增或者自减
再比如打印1-10的累加和
#打印1-10的累加和 i = 1 # 初始化变量i total =0 # 用于求和 while i <= 10: # 条件在1-10以内 total += i # 累加求和 i += 1 # 一定要记得让 i += 1, 否则会造成死循环
#再比如:用户登陆有三次机会 i=3 while i>=1: username=input('请输入用户名:') password=input('请输入密码:') #用户名是admin且密码是则身份验证成功否则身份验证失败 if username=='admin' and password=='': print('身份验证成功') break else: print('身份验证失败') i-=1 print(f'还剩余{i}次机会')
#循环打印1-100之间的偶数 i=1 while i<=100: if i%2==0: print(i) i += 1
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/16101.html