目录
前言
1、布尔类型和比较运算符
2、if语句的基本格式
3、if else语句
4、if elif else语句
5、判断语句的嵌套
6、实战演练
前言
逻辑判断是生活中常见的行为。同样,在程序中,进行逻辑判断也是最为基础的功能。
判断是程序最基础最核心的逻辑功能。
1、布尔类型和比较运算符
判断语句会产生两个结果:是或否,在程序中通过使用布尔类型来描述。
描述 | 说明 |
布尔(bool) | 布尔表示现实生活中的逻辑,即真(True)和假(False) True本质上是数字1,False记作0 |
定义变量存储布尔类型数据:
变量名称=布尔类型字面量
布尔类型不仅可以自行定义,同时也可以使用比较运算符进行比较运算得到布尔类型的结果。
result = 10 >5
print("判断结果为%s,类型为{type(result)}")
# result_type = type(result);
# print("判断结果为%s,类型为%s" % (result, result_type))
比较运算符:
运算符 | 描述 | 示例 |
== | 判断内容是否相等,满足返回True,反之返回False | 如3==3,返回True |
!= | 判断内容是否不相等,满足返回True,反之返回False | 如1!=3,返回True |
> | 判断运算符左侧内容是否大于右侧 满足返回True,反之返回False | 如7>3,返回True |
< | 判断运算符左侧内容是否小于右侧 满足返回True,反之返回False | 如3<7,返回True |
>= | 判断运算符左侧内容是否大于等于右侧 满足返回True,反之返回False | 如3>=3,返回True |
<= | 判断运算符左侧内容是否小于等于右侧 满足返回True,反之返回False | 如3<=3,返回True |
2、if语句的基本格式
程序中的判断
if 要判断的条件:
执行内容
age = 20;
if age >= 18:print("成年人")
# 归属于if判断的代码语句块,需在前方填充4个空格缩进,python通过缩进来判断代码块的归属
判断语句的结果,必须是布尔类型True或False,True会执行if内的代码语句,False则不会执行。
# 案例:手动输入年龄判断是否需要补票(注意类型转换)
print("欢迎来到游乐园,儿童免费,成人收费")
age = input("请输入你的年龄:")
age = int(age)
if age >= 18:print("您已成年,需要补票")
print("祝您游玩愉快!")
3、if else语句
if else语句可以实现在不满足条件的情况下执行对应的代码。
if 条件:
执行内容1
执行内容2
...
else:
执行内容1
执行内容2
...
print("欢迎来到游乐园,儿童免费,成人收费")
age = input("请输入你的年龄:")
age = int(age)
if age >= 18:print("您已成年,需要补票")
else:print("您未成年,可以免费游玩!")
print("祝您游玩愉快!")
1、else之后,不需要判断条件
2、和if的代码块一样,else的代码同样需要4个空格作为缩进
# 案例:手动输入身高,判断是否超过120cm
print("欢迎来到动物园!")
height = int(input("请输入您的身高:"))
if height > 120:print("您的身高超过120cm,需要补票")
else:print("您的身高不足120cm,可以免费游玩")
print("祝您游玩愉快!")
4、if elif else语句
if elif else语句可以实现判断条件有多个的场景。
if 条件1:
执行内容
elif 条件2:
执行内容
...
elif 条件N:
执行内容
else:
所有条件都不满足时的执行内容
print("欢迎来到动物园!")
height = int(input("请输入您的身高:"))
vip_level = int(input("请输入您的VIP级别(1~5):"))
day = int(input("请输入今天的日期(1~30):"))
if height < 120:print("您的身高不足120cm,可以免费游玩")
elif vip_level > 3:print("您的VIP等级大于3,可以免费游玩")
elif day == 1:print("1号是欢乐日,可以免费游玩")
else:print("不好意思,您需要补票")
print("祝您游玩愉快!")
# elif判断语句可以有多个
判断是互斥且有顺序的,空格缩进不能省略。
· 满足1条件将不会理会2和3
· 满足2,将不会理会3
· 1、2、3均不满足,进入else
· else也可以省略不写,效果等同于三个独立的if判断
# 猜心里数字
num = 10;
if int(input("请输入第一次猜想的数字:")) == num:print("第一次就猜对了")
elif int(input("不对,再猜一次:")) == num:print("恭喜你,猜对了!")
elif int(input("不对,最后再猜一次:")) == num:print("恭喜你,猜对了!")
else:print("全部都不对,我想的是:%d" % num)
5、判断语句的嵌套
在很多场景中,不仅仅是多个并列条件,还会有满足前置条件才会二次判断的多层判断需求。
许多逻辑的判断,是嵌套的,多层次的。
对于这种需求,我们可以:自由组合 if elif else 完成特定需求的要求
基础语法格式:
if 条件1:
执行内容
if 条件2:
执行内容
如上图,第二个if内,只有第一个if满足条件,才会执行第二个if
嵌套语句的特点在于:空格缩进
通过空格缩进,来决定语句之间:层次关系
print("欢迎来到动物园!")
height = int(input("请输入您的身高:"))
vip_level = int(input("请输入您的VIP级别(1~5):"))
if height > 120:print("你的身高大于120,不可以免费游玩")print("如果你的VIP等级高于3级可以免费")if vip_level > 3:print("您的VIP等级大于3,可以免费游玩")else:print("需要补票")
else:print("你可以免费游玩")
print("祝您游玩愉快!")
# 案例:公司发礼物需要满足条件:1、年龄大于等于18小于30的成年人 2、同时入职时间满足需满足大于两年,或者级别大于3才可以领取
age = int(input("年龄:"));
year = int(input("入职年限:"))
level = int(input("级别:"))
if age >= 18:if age < 30:print("年龄达标")if year > 2:print("年龄达标,且入职时间大于两年,可以领取礼物")elif level > 3:print("级别达标的成年人,可以领取礼物")else:print("入职时间和级别均不达标")else:print("年龄超标了")
else:print("未成年")
6、实战演练
# 随机产生一个数字范围再1~10,有三次判断机会,每次没猜到会提示大了或小了
# 产生一个随机数在
import random
num =random.randint(1,10)
# print(num)
guess_num = int(input("请输入您要猜测的数字:"))
# 通过if判断数字的猜测
if guess_num == num:print("恭喜你猜对了!")
else:if guess_num > num:print("猜大了!")elif guess_num < num:print("猜小了!")guess_num = int(input("再次输入您要猜测的数字:"))if guess_num == num:print("恭喜你猜对了!")else:if guess_num > num:print("猜大了!")elif guess_num < num:print("猜小了!")guess_num = int(input("第三次输入您要猜测的数字:"))if guess_num == num:print("恭喜你猜对了!")else:print("很遗憾,机会用完了,您未猜中")