Tab按键:统一给选中的增加缩进;Shift+Tab:统一给选中的内容减少缩进。
一、if基础
- ctrl + /:快捷键可以同时对多行进行注释或取消注释
- 判断的定义:如果条件满足,才能做某件事情,如果条件不满足,就做另外一件事情,或者什么也不做。
- 判断语句又被称为“分支语句”,正是因为有了判断,才让程序有了很多的分支
- if语句用来进行判断,格式如下:
if 要判断的条件:
条件成立时,要做的事情
…
else:
条件不成立时,要做的事情
…
注意:代码的缩进为一个tab键,或者4个空格,----建议使用空格,因为不同编译系统下,tab键代表的缩进量可能不同,tab键和空格不要混用 - 没有else时,if语句以及缩进部分是一个完整的代码块
- 有else时,if和else语句以及各自的缩进部分共同是一个完整的代码块
- 案例判断语句演练—判断年龄
需求:定义一个整数变量记录年龄,判断是否满18岁(>=),如果满18岁,允许进网吧,如果未满18岁,提示回家写作业
#定义一个整数变量记录年龄
age = int(input("请输入年龄:"))
# 判断是否满18岁(>=)
if age >= 18:
# 如果满18岁,允许进网吧
print("你已成年,欢迎进网吧")
else:
# 如果未满18岁,提示回家写作业
print("你还没有成年,请回家写作业吧")
二、运算符
- 比较(关系)运算符
运算符 | 描述 |
---|---|
== | 检查两个操作数的值是否相等,如果是,则条件成立,返回True |
!= | 检查两个操作数的值是否不相等,如果是,则条件成立,返回True |
> | 检查左操作数的值是否大于右操作数的值,如果是,则条件成立,返回True |
< | 检查左操作数的值是否小于右操作数的值,如果是,则条件成立,返回True |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立,返回True |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立,返回True |
- 逻辑运算符
在判断条件时,会需要同时判断多个条件,只有多个条件都满足,才能够执行后续代码,这个时候需要使用到逻辑运算符,逻辑运算符可以把多个条件按照逻辑进行连接,变成更复杂的条件,逻辑运算符包括:与and 、 或or 、 非not 三种
与and:两个或多个条件需全部满足,才返回True;只要有一个条件不满足,就返回False。
或or:两个或多个条件只要有一个满足,返回True;所有条件都不满足时,才返回False。
三、逻辑运算符练习案例
练习1:定义一个整数变量age,编写代码判断年龄是否正确,要求人的年龄在1-120之间
# 定义一个整数变量age,编写代码判断年龄是否正确
age = 12
# 要求人的年龄在1-120之间
if age >= 0 and age <=120:
print("年龄正确")
else:
print("年龄不正确")
练习2:定义两个整数变量python_score、c_score,编写代码判断成绩,要求只要有一门成绩>60分就算合格
# 定义两个整数变量python_score、c_score,编写代码判断成绩
python_score = 55
c_score = 35
# 要求只要有一门成绩>60分就算合格
if python_score > 60 or c_score>60:
print("考试通过")
else:
print("考试失败,继续努力")
练习3:定义一个布尔型变量is_employee,编写代码判断是否是本公司员工,如果不是提示不允许入内。
# 定义一个布尔型变量is_employee,编写代码判断是否是本公司员工
is_employee = False
# 如果不是提示不允许入内。
if not is_employee:
print("非本公司人员,请勿入内")
四、if语句进阶
在开发中,使用if可以判断条件,使用else可以处理条件不成立的情况,但是,如果希望再增加一些条件,条件不同,需要执行的代码也不同时,就可以使用elif
语法格式如下:
if 条件1:
条件1满足执行的代码
。。
elif 条件2:
条件2满足执行的代码
。。
elif 条件3:
条件3满足执行的代码
。。
else:
以上条件都不满足时,执行的代码
- elif 和 else 都必须和if联合使用,而不能单独使用
- 可以将if、elif和else以及各自所进的代码,看成一个完整的代码块
- elif演练–女友的节日
需求:
定义holiday_name 字符串变量记录节日名称
如果是情人节,应该买玫瑰、看电影
如果是平安夜,应该买苹果、吃大餐
如果是生日,应该买蛋糕
其他的日子每天都是节日啊
# 定义holiday_name 字符串变量记录节日名称
holiday_name = "生日"
# 如果是情人节,应该买玫瑰、看电影
if holiday_name == "情人节":
print("买玫瑰")
print("看电影")
# 如果是平安夜,应该买苹果、吃大餐
elif holiday_name == "平安夜":
print("买苹果")
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的嵌套练习—火车站安检
需求
定义布尔型变量has_ticket表示是否有车票
定义整型变量knife_length表示刀的长度,单位:厘米
首先检查是否有车票,如果有才允许进行安检
安检时,需要检查刀的长度,判断是否超过20厘米
如果超过20厘米,提示刀的长度,不允许上车
如果没有超过20厘米,安检通过
如果没有车票,不允许进门
# 定义布尔型变量has_ticket表示是否有车票
has_ticket = True
# 定义整型变量knife_length表示刀的长度,单位:厘米
knife_length = 30
# 首先检查是否有车票,如果有才允许进行安检
if has_ticket:
print("车票检查通过,准备开始安检")
# 安检时,需要检查刀的长度,判断是否超过20厘米
if knife_length > 20:
# 如果超过20厘米,提示刀的长度,不允许上车
print("你携带的刀太长了,有 %d 公分长!" % knife_length)
print("不允许上车")
# 如果没有超过20厘米,安检通过
else:
print("安检已经通过,祝您旅途愉快!")
# 如果没有车票,不允许进门
else:
print("大哥,请先买票")
六、综合案例–石头剪刀布
需求:
从控制台输入要出的拳,----石头(1)/剪刀(2)/布(3)
电脑随机出拳—先假定电脑只会出石头
比较胜负
#导入随机工具包
# import random
# 从控制台输入要出的拳,----石头(1)/剪刀(2)/布(3)
import random
player = int(input("请输入您要出的拳--石头(1)/剪刀(2)/布(3):"))
# 电脑随机出拳---先假定电脑只会出石头
computer = random.randint(1,3)
print("玩家选择的拳头是 %d - 电脑出的拳是 %d" % (player,computer))
# 比较胜负
# 1 石头 胜 剪刀
# 2 剪刀 胜 布
# 3 布 胜 石头
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("不服气,我们决战到天明!")
七、随机数的处理
- 在python中,要使用随机数,首先需要导入随机数的模块----工具包
import random - 在导入工具包的时候,应该将导入的语句,放在文件的顶部,因为这样可以方便下方的代码,在任何需要的时候,使用工具包中的工具。
random.randint(a,b),返回[a,b]之间的整数,包含a和b