判断(if)语句
if 判断语句的基本语法
if 要判断的条件:
条件成立时,要做的事情
#注意:代码的缩进为一个 tab 键,或者四个空格(pycharm 自动帮我们增加)
#在 python 开发中,Tab 和空格不要混用
判断语句演练:
需求:
1.定义一个整数变量
2.判断是否满 18 岁(>=)
>=:比较运算符
比较关系运算符:==,!=,>,<,<=,>=
3.如果满 18 岁,允许进入网吧
else:
age = 19
if age >= 18:
print '你已经成年,欢迎进入网吧'
print '欢迎欢迎'
print '~~~~~~~~'
思考:
在使用 if 判度时,只能做到满足条件时要做的事情,那如果需要在不满足条件的时
候,该做某些事情,我们该如何做呢
else,格式如下 #注意 else 必须配合 if 使用,而其 else 后不跟条件
if 要判断的条件:
条件成立时,要做的事情
......
else:条件不成立时,要做的事情
......
#if 和 else 语句以及各自的缩进部分是一个完整的代码块
示例:
需求
1.输入用户年龄
2.判断是否满 18 岁(>=)
3.如果满 18 岁,允许进入网吧
4.如果未满 18 岁,提示回家写作业
逻辑运算
age = raw_input('请输入的年龄:')
if age >= 18:
print '你已经成年,欢迎进入网吧'
else:
print '提示回家写作业'
print '~~~~~~~~'
在程序开发中,通常在判断条件时,会需要同时判断多个条件
只有多个条件都满足,才能够执行后续代码,这个时候需要使用到逻辑运算符
逻辑运算符可以把多个条件按照逻辑进行连接,变成更复杂的条件
python 中的逻辑运算符包括:与 and/或 or/非 not 三种
and
条件 1 and 条件 2
与/并且
两个条件同时满足,返回 True
只需有一个不满足,就返回 False
or
条件 1 or 条件 2
或/或者
两个条件只要有一个满足,返回 True
两个条件都不满足,返回 False
not
对一个条件取反:not 条件
逻辑运算演练
age = 120
if age >= 0 and age <= 80:
print '年龄正确'
else:
print '年龄不正确'
2.练习:定义两个整数变量 python_score,c_score,编写代码判断成绩
python_score = 45
c_score = 45
if python_score > 60 or c_score > 60:
print '考试通过'
else:
print '请继续努力'
3.练习:定义一个布尔型变量 is_employee,编写代码判断是否是本公司员工
如果不是提示不允许入内
is_employer = True
if is_employer:
print '非本公司员工,请走开'
if 语句进阶
elif
在开发中,使用 if 可以判断条件
使用 else 可以处理条件不成立的情况
但是,如果希望再增加一些条件,条加不同,需要执行的代码也不同,就可以使用
elif
语法格式如下:
if 条件 1:
条件 1 满足执行的代码
elif 条件 2:
条件 2 满足时,执行的代码
else:
以上条件都不满足时,执行的代码
注意:
elif 和 else 都必须和 if 联合使用,而不能单独使用
可以将 if,elif 和 else 以及各自缩进的代码,看成一个完整的代码块
elif 演练---女盆友的节日
需求:
1.定义 holidy_name 字符串变量记录节目名称
2.如果是情人节应该 买玫瑰/看电影
3.如果是平安夜应该 买苹果/吃大餐
4.如果是生日 应该 买蛋糕
5.其他的日子每天都是节日
holiday_name = str (raw_input('请输入:'))
if holiday_name == '情人节':
print '买玫瑰/看电影'
elif holiday_name == '平安夜':
print '买苹果/吃大餐'
elif holiday_name == '生日':
print '买蛋糕'
else:
print '上班'
if 的嵌套:
生活中的例子:(火车站的二次安检 首先得先有片进入火车站候车大厅)
elif 的应用场景是:同时判断多个条件,多有的条件都是平级的在开发中,使用 if 进行条件判断,如果希望在条件成立的执行语句中再增加条件判
断,就可以使用 if 的嵌套
if 的嵌套的应用场景就是:在之前的条件满足的前提下,再增加额外的判断
if 的嵌套的语法格式,除了缩进之外和之前的没有区别
语法格式:
if 条件 1:
条件 1 满足执行的代码
....
if 条件 1 基础上的条件 2:
条件 2 满足时,执行的代码
....
#条件 2 不满足的处理
else:
条件 2 不满足时,执行的代码
....
# 条件 1 不满足时候的处理
else:
条件 1 不满足时,执行的代码
....
if 嵌套的演练 火车站安检
需求:
1.定义布尔型变量 has_ticket 表示是否有车票
2.定义整型变量 knife_length 表示刀的长度
3.首先检查是否有车票,如果有,才允许进行安检
4.安检时,需要检查刀的长度,判断是否超过 20cm
如果超过 20cm,提示刀的长度,不允许上车
如果不超过 20cm,安检通过
have_ticket = True
knife_length = 20
if not have_ticket:
print '车票检测通过'
if knife_length > 20:
print '长度超过 %d:超过限定长度,不允许进入'
else:
print '长度未超过 %d:没有超过限定长度,允许进入'
else:
print '请先买票'
综合应用--石头剪刀布
目标:
1.强化多个条件的逻辑运算
2.体会 import 导入模块(工具包)的使用
需求:1.从控制台输入要出的拳 ---石头(1)/剪刀(2)/布(3)
2.电脑随即出拳--先假定电脑只会出石头,完成整体代码功能
3.比较胜负
石头 胜 剪刀
剪刀 胜 布
布 胜 石头
import random
# 1.石头 2.剪刀 3.布
player = int(raw_input('请输入你要出的拳:'))
computer = random
if ((player == 1 and computer == 2) or
(player == 3 and computer == 1) or
(player == 2 and computer == 3)):
print '玩家胜利'
elif player == computer:
print '双方平局'
else:
print '电脑胜利'