学习笔记18:Python中的比较,逻辑运算符,导入工具包以及if-elif-else

(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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章