判断语句介绍
生活中的判断场景
火车站安检
上网吧
密码判断
小总结:如果某些条件满足,才能做某件事情;条件不满足时,则不能做,这就是所谓的判断。
不仅生活中有,在软件开发中"判断"功能也经常会用到
if语句的使用
1、if判断语句介绍
if语句是用来进行判断的,其使用格式如下:
if 要判断的条件:
条件成立时,要做的事情
demo1:
age = 30
print("------if判断开始------")
if age >= 18:
print("我已经成年了")
print("------if判断结束------")
运行结果:
------if判断开始------
我已经成年了
------if判断结束------
demo2:
age = 16
print("------if判断开始------")
if age >= 18:
print("我已经成年了")
print("------if判断结束------")
运行结果:
------if判断开始------
------if判断结束------
小总结:以上2个demo仅仅是age变量的值不一样,导致结果却不同;能够看得出if判断语句的作用:就是当满足一定条件时才会执行代码块语句,否则就不执行代码块语句。
注意:代码的缩进为一个tab键,或者4个空格
2、练一练
要求:从键盘获取自己的年龄,判断是否大于或者等于18岁,如果满足就输出“哥,已成年,网吧可以去了”使用input从键盘中获取数据,并且存入到一个变量中
使用if语句,来判断 age>=18是否成立
if-else想一想:在使用if的时候,它只能做到满足条件时要做的事情。那万一需要在不满足条件的时候,做某些事,该怎么办呢?
答:使用 if-else
1、if-else的使用格式
if 条件:
满足条件时的操作
else:
不满足条件时的操作
demo1
ticket = 1 # 用1代表有车票,0代表没有车票
if ticket == 1:
print("有车票,可以上火车")
print("终于可以见到Ta了,美滋滋~~~")
else:
print("没有车票,不能上车")
print("亲爱的,那就下次见了")
结果1:有车票的情况
有车票,可以上火车
终于可以见到Ta了,美滋滋~~~
结果2:没有车票的情况
没有车票,不能上车
亲爱的,那就下次见了
demo2:
ran = str(random.randint(1,10)) # 8
num =input('请输入(1-10)之间的随机:') # '8'
if ran == num:
print('恭喜中大奖啦!奖品是:笔记本')
else:
print('很遗憾你猜错啦!与奖品擦肩而过~~~')
结果:
如果1: 输入的与随机数相同
恭喜中大奖啦!奖品是:笔记本
结果2:输入的与随机数不相同
很遗憾你猜错啦!与奖品擦肩而过~~~
2.练一练
要求:从键盘输入身高,如果身高没有超过150cm,则进动物园不用买票,否则需要买票。
elif想一想:
如果有这样一种情况:当条件A满足时做事情1;当条件A不满足、条件B满足时做事情2;当条件B不满足、条件C满足时做事情3,那该怎么实现呢?
答:
elif
说明:当xxx1满足时,执行事情1,然后整个if结束
当xxx1不满足时,那么判断xxx2,如果xxx2满足,则执行事情2,然后整个if结束
当xxx1不满足时,xxx2也不满足,如果xxx3满足,则执行事情3,然后整个if结束
demo:
age = int(input('请猜猜宋宋姐年龄:'))
if age <= 18 and age>0:
print('(o゜▽゜)o☆[BINGO!] 太有眼光啦!')
elif age>18 and age<=30:
print('人家还是宝宝呢.....')
elif age>30 and age<=40:
print('长得太年轻了吧!!!!')
else:
print('输入错误!')
****注意点****
可以和else一起使用if 性别为男性:
输出男性的体重
...
elif 性别为女性:
输出女性的体重
...
else:
第三种性别的体重
...说明:当 “性别为男性” 满足时,执行 “输出男性的体重”的相关代码
当 “性别为男性” 不满足时,如果 “性别为女性”满足,则执行 “输出女性的体重”的相关代码
当 “性别为男性” 不满足,“性别为女性”也不满足,那么久默认执行else后面的代码,即 “第三种性别的体重”相关代码elif必须和if一起使用,否则出错 else 一般用在最后,即所有条件都不满足时使用
if嵌套
通过学习if的基本用法,已经知道了当需要满足条件去做事情的这种情况需要使用if
当满足条件时做事情A,不满足条件做事情B的这种情况使用if-else
想一想:坐火车或者地铁的实际情况是:先进行安检如果安检通过才会判断是否有车票,或者是先检查是否有车票之后才会进行安检,即实际的情况某个判断是再另外一个判断成立的基础上进行的,这样的情况该怎样解决呢?
答:if嵌套
1、if嵌套的格式
if 条件1:
满足条件1 做的事情1
满足条件1 做的事情2
if 条件2:
满足条件2 做的事情1
满足条件2 做的事情2说明外层的if判断,也可以是if-else
内层的if判断,也可以是if-else
根据实际开发的情况,进行选择
2、if嵌套的应用
demo1:
print('*'*10,'欢迎来到消消乐','*'*10)
level = input('请输入你的级别(lv1,lv2):')
if level=='lv1':
print('免费玩 随便玩')
else:
print('已经进入付费级别,充值继续玩')
money = int(input('请充值(必须是100的倍数):'))
# if 语句是允许嵌套,注意缩进问题
if money%100==0 and money>0:
print('充值成功!充值金额是:',money)
else:
print('充值失败,充值金额必须是100的倍数!')
demo2:
ticket = 1 # 用1代表有车票,0代表没有车票
knife_length = 9 # 刀子的长度,单位为cm
if ticket == 1:
print("有车票,可以进站")
if knife_length < 10:
print("通过安检")
print("终于可以见到Ta了,美滋滋~~~")
else:
print("没有通过安检")
print("刀子的长度超过规定,等待警察处理...")
else:
print("没有车票,不能进站")
print("亲爱的,那就下次见了")
大家可以试一下,demo1和demo2的结果是什么?
3. 练一练
情节描述:上公交车,并且可以有座位坐下
要求:输入公交卡当前的余额,只要超过2元,就可以上公交车;如果车上有空座位,就可以坐下。
综合案例猜拳游戏:
参考代码:
import random
player = input('请输入:剪刀(0) 石头(1) 布(2):')
player = int(player)
# 产生随机整数:0、1、2 中的某一个
computer = random.randint(0,2)
# 用来进行测试
#print('player=%d,computer=%d',(player,computer))
if ((player == 0) and (computer == 2)) or ((player ==1) and (computer == 0)) or ((player == 2) and (computer == 1)):
print('获胜,哈哈,你太厉害了')
elif player == computer:
print('平局,要不再来一局')
else:
print('输了,不要走,洗洗手接着来,决战到天亮')
课后小练:键盘上输入以下内容并打印输出:
用户名,username
密码,password
是否记住密码,is_remember
如果是记住密码则,打印已经记住用户xxx的密码啦
否则打印,没有记住密码需要下次继续输入的。
希望决心学习Python的你,每天都有进步!喜欢的点赞哦!