1.判断的定义:
如果条件满足,才能做某件事,如果条件不满足,就做另外一件事情,或者什么也不做正是有了判断,
才使得程序世界丰富多彩,充满变化(程序不再从上到下的‘呆板’执行了)判断语句又被称为‘分支语句’,
正是因为有了判断,才让程序有了很多的分支
2.基本用法
if (要判断的条件):
条件成立时,要做的事情
else:
条件不成立时,要做的事情
(else 必须配合 if 使用,而其 else 后不跟条件)
注意:代码的缩进为一个 tab 键,或者四个空格(pycharm 自动帮我们增加),在 python 开发中,Tab 和空格不要混用
练习:定义整型变量,判断是否满18岁
age = int(input ('请输入您的年龄:'))
if age >= 18:
print ('欢迎进入酒吧')
else:
print ('未成年禁止进入')
3.if的逻辑运算符
chinese = int(input('请输入您的语文成绩:'))
math = int(input('请输入您数学成绩:'))
value = input('Value:')
if chinese >= 120 and math > 120:
print('你很优秀,恭喜你被录取了!')
else:
print('你还需要努力一点')
4.if-elif-else
if 条件1:
条件1成立时,要做的事
elif 条件2:
条件2成立时,要做的事
else:
以上条件都不成立时,要做的事
注:elif必须和if联合使用,不能单独使用
练习:
holiday = input('请输入节日:')
if holiday == '情人节':
print('看电影')
elif holiday == '元宵节':
print('吃元宵')
elif holiday == '春节':
print('吃饺子')
else:
print('学习')
5.if嵌套
生活中的例子:(火车站的二次安检 首先得先有片进入火车站候车大厅,elif 的应用场景是:同时
判断多个条件,多有的条件都是平级的在开发中,使用 if 进行条件判断,如果希望在条件成立的执行
语句中再增加条件判断,就可以使用 if 的嵌套
if 的嵌套的应用场景就是:在之前的条件满足的前提下,再增加额外的判断
if 的嵌套的语法格式,除了缩进之外和之前的没有区别
基本语法
if <条件1>:
条件1满足执行的代码
....
if <条件1基础上的条件2>:
条件 2 满足时,执行的代码
....
else:
条件 2 不满足时,执行的代码
....
else:
条件 1 不满足时,执行的代码
....
练习:
火车站安检需求:
1.定义布尔型变量 has_ticket 表示是否有车票
2.定义整型变量 knife_length 表示刀的长度
3.首先检查是否有车票,如果有,才允许进行安检
4.安检时,需要检查刀的长度,判断是否超过 20cm,如果超过 20cm,提示刀的长度,不允许上车,如果不超过 20cm,安检通过
5.如果没有车票,不允许进门
# 定义一个变量have_ticket
# 1 表示有车票,0表示没有车票
have_ticket = int(input('请出示您的车票:'))
if have_ticket == 1 :
print ('车票检测通过,请排队等候进入')
# 定义刀的长度
knife_length = int(input('请输入刀的长度:'))
# 判断刀的长度是否符合上车条件
if knife_length >= 20:
print ('长度为%d,超过限定长度,你的刀被没收了' %(knife_length))
else:
print ('长度为%d,未超过限定长度,但是给予警告,下次最好不要带刀' %(knife_length))
else:
print ('请您先买票')
6.综合练习
(1)猜拳游戏
import random
# 玩家出拳
player = int(input('请输入您要出的拳: (1 石头 2 剪刀 3 布):'))
# 电脑出拳
computer = random.randint(1,3)
print('电脑出拳:%s' %computer)
# 比较胜负
if (player == 1 and computer == 2) or \
(player == 2 and computer == 3) or \
(player ==3 and computer ==1):
print('玩家胜利')
elif player == computer:
print('平局')
else:
print('玩家失败')
(2)用户输入年份,判断是否为闰年
"""
闰年:能被400整除,或者能被4整除,但是不能被100整除
"""
year = int(input('请输入年份:'))
if (year % 400 == 0) or (year % 4 == 0 and year % 100 != 0):
print('%d年是闰年' %year)
else:
print('%d年是平年' %year)
(3)输入年、月,输出本月有多少天
year = int(input('请输入年份:'))
month = int(input('请输入月份:'))
if (year % 400 == 0) or (year % 4 == 0 and year % 100 != 0):
if (month == 2):
print('%d年的%d月有29天' %(year,month))
elif (month == 4 or month == 6 or month == 9):
print('%d年的%d月有30天' %(year,month))
else:
print('%d年的%d月有31天' %(year,month))
else:
if (month == 2):
print('%d年的%d月有28天' %(year,month))
elif (month == 4 or month == 6 or month == 9):
print('%d年的%d月有30天' %(year,month))
else:
print('%d年的%d月有31天' %(year,month))
(4)用if判断输入的值是否为空,如果为空,报错Error
value = input('请输入值:')
if not value:
print('Error')
else:
print('Right')
(5)用户输入月份,打印该月份所属的季节
month = int(input('请输入月份:'))
if month == 3 or month == 4 or month == 5:
print('%d月是春季' %month)
elif month == 6 or month == 7 or month == 8:
print('%d月是夏季' %month)
elif month == 9 or month == 10 or month == 11:
print('%d月是秋季' %month)
else:
print('%d月是冬季' %month)