(1)比较运算符
运算符 | 描述 |
---|---|
== | 检查两个操作数的值是否相等,若是条件成立,返回True |
!= | 是否不相等,若是,返回True |
> | 左边值是否大于右边值,若是,返回True |
< | 左边值是否小于右边值,若是,返回True |
>= | 左边值是否大于或等于右边值,若是,返回True(符号之间均不存在空格) |
<= | 左边值是否小于或等于右边值,若是,返回True |
(2)if可以用来判断,如果条件满足,才能做某件事;如果条件不满足,就做另外一件事或什么也不做。
1.if 语句的基本语法
if 要判断的条件:
条件成立时,要做的事情
......
练习1:判断年龄
#定义一个整数变量记录年龄;
age = 15
#判断是否满了18岁
if age >= 18:
# 如果满了18岁,可以进网吧
print("已成年,欢迎进网吧")
print("欢迎")
print("看什么时候会执行")
执行结果:
F:\python-liuboke\venv\Scripts\python.exe F:/python-liuboke/判断年龄.py
看什么时候会执行
Process finished with exit code 0
注意:if语句与其缩进的语句为一个完整代码块,条件满足则执行;代码缩进为一个tab键,或者4个空格 – 建议使用空格,在Python中,Tab和空格不能混用。
2.else可以用来处理if条件不满足的情况
if 要判断的条件:
条件成立时,执行代码
......
else:
条件不成立时,执行代码
......
练习2:判断年龄改进版
#输入用户年龄
age = 15
#判断是否满18岁(>=)
if age >=18:
#如果满18岁,允许进网吧
print("已成年,欢迎进网吧")
#如果未满18岁,提示回家写作业
else:
print("未成年,回家写作业")
执行结果:
F:\python-liuboke\venv\Scripts\python.exe F:/python-liuboke/判断年龄改进版.py
未成年,回家写作业
Process finished with exit code 0
练习3:控制台输入,不同类型不能直接比较,不同类型需转换,input-str,age-int
注意:if和else语句以及各自的缩进部分为一个完整的代码块。
#输入用户年龄
age = int(input("请输入年龄:"))
#判断是否满18岁(>=)
if age >=18:
#如果满18岁,允许进网吧
print("已成年,欢迎进网吧")
#如果未满18岁,提示回家写作业
else:
print("未成年,回家写作业")
#这句代码无论条件是否成立都会执行
print("这句代码什么时候执行")
执行结果:
F:\python-liuboke\venv\Scripts\python.exe F:/python-liuboke/判断年龄改进版.py
请输入年龄:15
未成年,回家写作业
这句代码什么时候执行
Process finished with exit code 0
(3)逻辑运算符:将多个条件按照逻辑进行连接,变成更复杂的条件
逻辑运算符 | 意义 |
---|---|
and | 与,条件1 and 条件2,两个条件同时满足,返回True,否则False |
or | 或,条件1 or 条件2,其中一个条件成立,返回True,均不成立返回False |
not | 非,not 条件 |
练习4:定义一个整数变量age,判断年龄是否在0-120之间;定义两个变量python_score,c_score,编写代码判断成绩(只要一门成绩>60就算合格);定义一个布尔型变量is_employee,编写代码判断是否是本公司员工(不是则不允许进入)
#定义一个整数变量age,
age = 120
# 判断年龄是否在0-120之间;
if age >=0 and age <= 120:
print("年龄正确")
else:
print("年龄错误")
# 定义两个变量python_score,c_score,
python_score = 80
c_score = 50
# 编写代码判断成绩(只要一门成绩>60就算合格);
if python_score > 60 or c_score > 60:
print("考试通过")
else:
print("继续努力")
# 定义一个布尔型变量is_employee,
is_employee = False
# 编写代码判断是否是本公司员工(不是则不允许进入)
#在开发中,通常希望某个条件不满足时,执行一些代码,可以使用not
#另外,如果需要拼接复杂的逻辑计算条件,同样也有可能使用到not
if not is_employee:
print("非本公司人员,请勿入内")
执行结果:
F:\python-liuboke\venv\Scripts\python.exe F:/python-liuboke/逻辑运算演练.py
年龄正确
考试通过
非本公司人员,请勿入内
Process finished with exit code 0
(4)elif用来增加条件,所有条件都是平级的
if 条件1:
条件1满足,执行
......
elif 条件2:
条件2满足,执行
......
elif 条件3:
条件3满足,执行
......
else:
以上均不满足,执行
......
注:elif和else都必须与if联合使用;if,elif,else以及缩进的代码是一个完整代码块。
练习5:女友节日
#定义holiday_name,字符串变量记录节日名称;
holiday_name = input("请输入节日:")
#如果是情人节,买玫瑰,看电影;
if holiday_name == "情人节":
print("买玫瑰,看电影")
#平安夜,买苹果,吃大餐;
elif holiday_name == "平安夜":
print("买苹果,吃大餐")
#生日,买蛋糕;
elif holiday_name =="生日":
print("买蛋糕")
#其他日子每天都是节日;
else:
print("每天都是节日啊")
执行结果:
F:\python-liuboke\venv\Scripts\python.exe F:/python-liuboke/女友节日.py
请输入节日:生日
买蛋糕
Process finished with exit code 0
(5)if 的嵌套:在之前条件满足的前提下,再增加额外的判断
if 条件1:
条件1成立时,执行代码
......
if 条件1成立的基础上的条件2:
条件2成立时,执行代码
......
else:
条件2不成立时,执行代码
......
else:
条件1不成立时,执行代码
......
练习6:火车站安检
#tips:在Pycharm中可选中大段代码,按Tab键增加缩进,按shift+Tab键减少缩进;
#定义布尔型变量has_ticket表示是否有车票;
has_ticket = True
#定义整型变量knife_length表示刀长;
knife_length = 50
#首先检查是否有车票,若有才允许安检;
if has_ticket:
#安检时,判断刀长是否超过30cm;
print("车票检查通过,开始安检")
if knife_length > 30:
# 超过,不允许上车;
print("安检未通过,刀长为%dcm" % knife_length)
else:
# 未超,安检通过;
print("安检通过")
#没有车票,不允许进入;
else:
print("请先买票")
执行结果:
F:\python-liuboke\venv\Scripts\python.exe F:/python-liuboke/火车站安检.py
车票检查通过,开始安检
安检未通过,刀长为50cm
Process finished with exit code 0
(6)随机数:使用随机数需导入随机数模块的工具包,导入模块后,可在模块名称后敲一个.再按Tab键选择模块包含的函数。
导入模式:
import 模块名称
如导入随机数模块:
import random
如导入随机数中的一个函数:
random.randint(a,b):返回包含a,b 的[a,b]之间的整数,下限小于上限
练习7:石头剪刀布
#综合应用--石头剪刀布
#目标:强化多个条件的逻辑运算;体会import导入模块
#导入随机工具包,放在文件顶部
import random
#从控制台输入要出的拳--石头(1),剪刀(2),布(3)
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("电脑获胜")
执行结果:
F:\python-liuboke\venv\Scripts\python.exe F:/python-liuboke/石头剪刀布.py
请输入你要出的拳,石头(1),剪刀(2),布(3):3
玩家选择的拳头是 3 - 电脑出的拳是 2
电脑获胜
Process finished with exit code 0