路远殊途,祝你得偿所愿
——24.1.21
前言
进行逻辑判断,是生活中常见的行为,同样,在程序中,进行逻辑判断也是最为基础的功能
一、布尔类型和比较运算符
1.布尔类型
进行判断,有两个结果,True、False,True本质是1,False本质是0
定义变量存储布尔类型数据:
变量名称 = 布尔类型字面量
布尔类型不仅可以自行定义,同时也可以通过计算得来
使用比较运算符进行比较得到布尔类型的结果
result = 10>9;
print(f"10>9 is {result}")
print(f"result的类型是:{type(result)}")
# 比较运算符的使用
# ==,!=,>=,<=,>,<
# 演示进行内容的相等比较
num1 = 10
num2 = 15
print(f"num1 != num2的结果是:{num1!=num2}")num1 = 15
num2 = 15
print(f"num1 == num2的结果是:{num1==num2}")
name1 = "一切都会好的"
name2 = "我一直相信"
name3 = "一切都会好的"
print(f"name1,name2,name3三者:{name1==name2},{name1==name3},{name1!=name2}")
2.比较运算符的演示
#演示比较运算符的比较运算
print(f"name1>=name2结果是:{name1>=name2}")
print(f"name1<=name2结果是:{name1<=name2}")
print(f"name2>=name3结果是:{name2>=name3}")
print(f"name2<=name3结果是:{name2<=name3}")
print(f"name1==name3结果是:{name1==name3}")
print(f"name1!=name2结果是:{name1!=name2}")
print(f"name1==name3结果是:{name1==name3}")
3.总结
1.在Python中,可以表示真假的数据类型是:
布尔类型,字面量True表示真,字面量False表示假
2.除了可以定义布尔类型外,还可以通过_计算得到布尔类型?
比较运算
== 判断是否相等 != 判断是否不相等
> 判断是否大于 < 判断是否小于
>= 判断是否大于等于 <=判断是否小于等于
二、if语句的基本格式
1.判断语句
if 要判断的条件:
条件成立时,要做的事情
# 定义变量
age = 30# 进行判断
if age >= 18:print("成年人")
age = 18
print(f"我今年已经{age}岁了")
if age >= 18:print("我已经成年了")print("即将步入大学生活")
print("时间过的真快")
age = 10
print(f"我今年已经{age}岁了")
if age >= 18:print("我已经成年了")print("即将步入大学生活")
print("时间过的真快") #因为它和if同级
2.总结
1.if语句的基本格式
if 要判断的条件:
条件成立时,要做的事情
2.if语句的注意事项:
判断条件的结果一定要是布尔类型
不要忘记判断条件后的:冒号
归属于if语句的代码块,需在前方填充4个空格缩进
3.练习 案例:成年人判断
结合前面学习的input输入语句,完成如下案例:
1.通过input语句,获取键盘输入,为变量age赋值。(注意转换成数字类型)
2.通过if判断是否是成年人,满足条件则输出提示信息,如下:
欢迎来到黑马儿童游乐场,儿童免费,成人收费
请输入您的年龄:30
您已成年,游玩需要补票10元
祝您游玩愉快
提示:您已成年,需要补票的信息输出,来自if判断
print("请您输入您的年龄")
# 获取键盘输入
age = int(input())# 通过if判断是否是成年人
if age >= 18:print("您已成年,游玩需要买票,10元.")print("祝您游玩愉快")
三、if else语句
1.定义
if 条件:
满足条件时要做的事情1
满足条件时要做的事情2
满足条件时要做的事情3
… …
else:
不满足条件时要做的事情1
不满足条件时要做的事情2
不满足条件时要做的事情3
… …
2.案例1:成年人判断
print("欢迎来到游乐场,儿童免费,成人收费")
age = int(input())
if age >= 18:print("您已成年,需要买票")
else:print("您不需要买票")
print("祝你玩得开心")
3.if else语句注意点
①else后,不需要判断条件
②和if的代码块一样,else的代码块同样需要4个空格作为缩进
③冒号不要忘记
4.总结
1.if else语句,其中
if和其代码块,满足条件时执行
else搭配if的判断条件,当不满足的时候执行
2.if else语句的注意事项:
else不需要判断条件,当if的条件不满足时,else执行
else的代码块,同样需要4个空格作为缩进
5.案例2:我要买票吗
通过input语句获取键盘输入的身高
判断身高是否超过120cm,并通过print给出提示信息
print("欢迎来到动物园")
h = int(input("请输入你的身高\n"))
if h > 120:print("您的身高超过120cm,游玩需要购票10元")
else:print("您的身高未超过120cm,可以免费游玩")
print("祝您游玩愉快")
四、if elif else 多条件判断语句
1.引例:
print("欢迎来到黑马动物园")
h = int(input("请输入你的身高(cm):"))
vip_level = int(input("请输入你的vip级别(1~5):"))
if h < 120:print("您的身高小于120cm,可以免费游玩")
elif vip_level > 3:print("您的vip等级大于3,可以免费游玩")
else:print("不好意思,您需要购票10元")
print("祝您游玩愉快")
2.注意点:
判断是互斥且有顺序的
满足1(如图编号)将不会理会2和3
满足2,将不会理会3
1、2、3均不满足,进入else
else也可以省略不写,效果等同3个独立的if判断
空格缩进不可省略
print("欢迎来到黑马动物园")
h = int(input("请输入你的身高(cm):"))
vip_level = int(input("请输入你的vip级别(1~5):"))
day = int(input("今天是几号?"))
if h < 120:print("您的身高小于120cm,可以免费游玩")
elif vip_level > 3:print("您的vip等级大于3,可以免费游玩")
elif day == 1:print("今天是1号免费日")
else:print("不好意思,您需要购票10元")
print("祝您游玩愉快")
3.练习:猜数字
1.定义一个变量,数字类型,内容随意
2.基于input语句输入猜想的数字,通过if和多次elif的组合,判断猜想数字和心里数字是否一致
num = 9
guessNum = int(input("请您输入你猜想的数字:"))
if guessNum == num:print("恭喜你,你猜对啦!")
elif int(input("猜错了,再猜一次:")) == num:print("猜了两次,猜对啦!")
elif int(input("猜错了,再猜最后一次:")) == num:print("恭喜你,最后一次猜对啦!")
else:print("很遗憾,您没有机会了")
五、判断语句的嵌套
1.定义
对于许多逻辑地判断,是嵌套的,多层次的
对于这种需求,我们可以自由组合if elif else 完成特定需求的要求
基础语法格式如下:
if 条件1:
满足条件1 做的事情1
满足条件1 做的事情2
if 条件2:
满足条件2 做的事情1
满足条件2 做的事情2
嵌套的关键点,在于:空格缩进
通过空格缩进,来决定语句之间的:层次关系
2.案例1
if int(input("输入您的身高:")) > 120:if int(input("请输入您的vip等级:")) > 3:print("您不用买票")
else:print("您需要买票")
3.案例2
公司要发礼物,条件是:
1.必须大于等于18岁且小于30岁的成年人
2.入职时间需满足大于两年,或者级别大于3才可领取
age = int(input("请输入年龄:"))
level=int(input("请输入级别:"))
year = int(input("请输入工龄:"))
if 18<=age<30:print("年龄达到标准")if year > 2:print("年龄和工龄达标,可以领取")elif level > 3:print("工龄不达标,级别达标,也可以领取")else:print("工龄和级别都没达标,不可以领取")
else:print("年龄不达标,无法领取")
4.总结
1.嵌套判断语句可以用于多条件,多层次的逻辑判断
2.嵌套判断语句可以根据需求,自由组合if elif else来构建多层次判断
3.嵌套判断语句,一定要注意空格缩进,python通过空格缩进来决定层次关系
六、猜数字游戏
案例要求
1.数字随机产生,范围1-10
2.有三次机会猜测数字,通过三层循环判断嵌套
3.每次猜不中进行提示
通过如下代码,可以定义一个变量num,用来存随机数字
import random
num = random.randint(1,10)
# 1.构建一个随机的数字变量
import random
num = random.randint(1,10)
# 第一次猜测
guess_num = int(input("请输入要猜的数字:\n"))
if guess_num == num:print("第一次就猜中了")
else:if guess_num>num:print("猜大了")else:print("猜小了")# 第二次猜测
guess_num = int(input("请输入要猜的数字:\n"))
if guess_num == num:print("第二次猜中了")
else:if guess_num > num:print("猜大了")else:print("猜小了")# 第三次猜测
guess_num = int(input("请输入要猜的数字:\n"))
if guess_num == num:print("第三次猜中了")
else:print("猜错了,您的机会已用尽")