1.if语句
生活中的判断案例:
生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这,如果
那样….
1)判断的定义:
如果条件满足,才能做某件事
如果条件不满足,就做另外一件事情,或者什么也不做
正是有了判断,才使得程序世界丰富多彩,充满变化(程序不再从上到下的‘呆
板’执行了)
判断语句又被称为‘分支语句’,正是因为有了判断,才让程序有了很多的分支
2)if 判断语句的基本语法
if 要判断的条件:
条件成立时,要做的事情
#注意:代码的缩进为一个 tab 键,或者四个空格(pycharm 自动帮我们增加)
#在 python 开发中,Tab 和空格不要混用
3)简单的if语句演练
# 定义一个整形变量
age = 19
# 判断是否满18岁
if age >= 18:
# 如果满18岁,允许进入网吧
print '您已成年,欢迎进入网吧'
执行结果:
2.else
在使用 if 判度时,只能做到满足条件时要做的事情,那如果需要在不满足条件的时
候,该做某些事情,我们该如何做呢
else,格式如下: (注意 else 必须配合 if 使用,而其 else 后不跟条件)
if 要判断的条件:
条件成立时,要做的事情
......
else:
条件不成立时,要做的事情
......
# if 和 else 语句以及各自的缩进部分是一个完整的代码块
例如:
# 定义一个整形变量
age = 16
# 判断是否满18岁
if age >= 18:
# 如果满18岁,允许进入网吧,否则不能进入
print '您已成年,欢迎进入网吧'
else:
print '您未成年,不能进入网吧'
执行结果:
在控制台自定义年龄
# 定义一个整形变量
age = float(raw_input('请输入年龄:'))
# 判断是否满18岁
if age >= 18:
# 如果满18岁,允许进入网吧,否则不能进入
print '您已成年,欢迎进入网吧'
else:
print '您未成年,不能进入网吧'
执行结果:
3.逻辑运算
在程序开发中,通常在判断条件时,会需要同时判断多个条件
只有多个条件都满足,才能够执行后续代码,这个时候需要使用到逻辑运算符
逻辑运算符可以把多个条件按照逻辑进行连接,变成更复杂的条件
python 中的逻辑运算符包括:与 and/或 or/非 not 三种
1)and
条件 1 and 条件 2 #与/并且
两个条件同时满足,返回 True
只需有一个不满足,就返回 False
# 1.定义一个整形变量,身高在172-185之间
height = 180
if 185 >= height >= 172:
print '您符合要求'
else:
print '对不起,您不符合要求'
执行结果:
2)or
条件 1 or 条件 2 #或/或者
两个条件只要有一个满足,返回 True
两个条件都不满足,返回 False
# 2.定义两个整形变量,只要有一科大于60分就及格
english = 30
chinese = 50
if english >= 60 or chinese >= 60:
print '您已通过考试'
else:
print '请继续努力'
3)not
对一个条件取反:not 条件
# 3.定义一个布尔型变量,判断是否是本校学生
student = False
if not student:
print '非本校学生'
执行结果:
4.if 语句进阶
在开发中,使用 if 可以判断条件
使用 else 可以处理条件不成立的情况
但是,如果希望再增加一些条件,条加不同,需要执行的代码也不同,就可以使用elif
1)语法格式如下:
if 条件 1:
条件 1 满足执行的代码
elif 条件 2:
条件 2 满足时,执行的代码
else:
以上条件都不满足时,执行的代码
注意:
elif 和 else 都必须和 if 联合使用,而不能单独使用
可以将 if,elif 和 else 以及各自缩进的代码,看成一个完整的代码块
2)elif演练:
过节日给女朋友送礼
1.定义 holidy_name 字符串变量记录节目名称
2.如果是情人节应该 买玫瑰/看电影
3.如果是平安夜应该 买苹果/吃大餐
4.如果是生日 应该 买蛋糕
5.其他的日子每天都是节日
holiday_name = raw_input('请输入节日:')
if holiday_name == '情人节':
print '买玫瑰/看电影'
elif holiday_name == '平安夜':
print '买苹果/吃大餐'
elif holiday_name == '生日':
print '买蛋糕'
else:
print '每天都是节日'
执行结果:
5.if 的嵌套:
生活中的例子:(火车站的二次安检 首先得先有片进入火车站候车大厅)
elif 的应用场景是:同时判断多个条件,多有的条件都是平级的
在开发中,使用 if 进行条件判断,如果希望在条件成立的执行语句中再增加条件判
断,就可以使用 if 的嵌套
if 的嵌套的应用场景就是:在之前的条件满足的前提下,再增加额外的判断
if 的嵌套的语法格式,除了缩进之外和之前的没有区别
1)语法格式:
if 条件 1:
条件 1 满足执行的代码
....
if 条件 1 基础上的条件 2:
条件 2 满足时,执行的代码
....
#条件 2 不满足的处理
else:
条件 2 不满足时,执行的代码
....
# 条件 1 不满足时候的处理
else:
条件 1 不满足时,执行的代码
2)if 嵌套的演练
火车站安检
1.定义布尔型变量 has_ticket 表示是否有车票
2.定义整型变量 knife_length 表示刀的长度
3.首先检查是否有车票,如果有,才允许进行安检
4.安检时,需要检查刀的长度,判断是否超过 20cm
如果超过 20cm,提示刀的长度,不允许上车
如果不超过 20cm,安检通过
5.如果没有车票,不允许进门
# 定义布尔型变量 has_ticket 表示是否有车票
has_ticket = True
# 定义整型变量 knife_length 表示刀的长度
length = 30
if has_ticket:
print '请进行安检'
if length >= 20:
print '刀长度为%d,超过限定长度' % length
else:
print '刀长度为%d,未超过限定长度' % length
else:
print '请先买票'
执行结果:
6.if综合应用
目标:
1.强化多个条件的逻辑运算
2.体会 import 导入模块(工具包)的使用
示例:石头剪刀布
1.从控制台输入要出的拳 —石头(1)/剪刀(2)/布(3)
2.电脑随即出拳–先假定电脑只会出石头,完成整体代码功能
3.比较胜负
石头 胜 剪刀
剪刀 胜 布
布 胜 石头
# 导入random包
import random
# 玩家输入石头剪刀布,石头:1,剪刀:2,布:3
player = int(raw_input('请输入石头剪刀布:'))
# 电脑随机输入
computer = random.randint(1,3)
print '玩家输入%d,电脑输入%d' % (player,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 '电脑胜利'
执行结果: