Python学习笔记-Python判断语句
  kCmFobNLwURY 2023年11月02日 49 0

布尔类型和比较运算符

布尔类型

进行判断,只有2个结果:

程序中,如何描述:是或否?使用:布尔类型。

Python中常用的6种值(数据)的类型

类型

描述

说明

数字(Number)

支持


  • 整数(int)
  • 浮点数(float)
  • 复数(complex)
  • 布尔(bool)


整数(int),如10、-10

浮点数(float),如13.14、-13.14

复数(complex),如4+3j,以j结尾表示复数

布尔(bool)表达现实生活中的逻辑,即真和假,True表示真,False表示假。

True本质上是一个数字记作1,False记作0

字符串(String)

描述文本的一种数据类型

字符串(string)由任意数量的字符组成

列表(List)

有序的可变序列

Python中使用最频繁的数据类型,可有序记录一堆数据

元组(Tuple)

有序的不可变的序列

可有序记录一堆不可变的Python数据集合

集合(Set)

无序不重复集合

可无序记录一堆不重复的Python数据集合

字典(dictionary)

无序Key-Value集合

可无序记录一堆Key-Value型的Python数据集合

布尔类型的定义

布尔类型的字面量:

  • True 表示真(是、肯定)
  • False 表示假(否、否定)

定义变量存储布尔类型数据:

变量名称 = 布尔类型字面量

布尔类型不仅可以自行定义,同时也可以通过计算得来,也就是使用比较运算符进行比较运算得到布尔类型的结果。

result = 10 > 5

print(f"10 > 5 的结果是:{result}, 类型是:{type(result)}")

result = 10 < 5

print(f"10 < 5 的结果是:{result}, 类型是:{type(result)}")

result = "sunpeng" == "zhanghongxin"

print(f"字符串sunpeng和zhanghongxin是否相等,结果是:{result}, 类型是:{type(result)}")


输出结果:

10 > 5 的结果是:True, 类型是:

10 < 5 的结果是:False, 类型是:

字符串sunpeng和zhanghongxin是否相等,结果是:False, 类型是:

比较运算符

运算符

描述

示例

==

判断内容是否相等,满足为True,不满足为False

如a=3,b=3, 则(a == b)为True

!=

判断内容是否不相等,满足为True,不满足为False

如a=1,b=3, 则(a != b)为True

>

判断运算符左侧内容是否大于右侧,满足为True,不满足为False

如a=7,b=3, 则(a > b)为True

<

判断运算符左侧内容是否小于右侧,满足为True,不满足为False

如a=3,b=7, 则(a < b)为True

>=

判断运算符左侧内容内容是否大于等于右侧,满足为True,不满足为False

如a=3,b=3, 则(a >= b)为True

<=

判断运算符左侧内容是否小于等于右侧,满足为True,不满足为False

如a=3,b=3, 则(a <= b)为True

"""

演示布尔类型的定义布尔类型

- True

- False

比较运算符练习

- ==

- !=

- >

- <

- >=

- <=

"""

# 定义变量存储布尔类型的数据

bool_1 = True

bool_2 = False

print(f"bool_1变量的内容是:{bool_1},类型是:{type(bool_1)}")

print(f"bool_1变量的内容是:{bool_2},类型是:{type(bool_2)}")


# 演示,进行内容的相等、不想等比较

num1 = 10

num2 = 10

print(f"10 == 10 的结果是:{num1 == num2}")


num1 = 10

num2 = 15

print(f"10 != 15 的结果是:{num1 != num2}")


name1 = "itcast"

name2 = "itheihei"

print("itcast == itheihei 的结果是:", name1 == name2)

print("%s == %s 的结果是:" % (name1, name2), name1 == name2)

print(f"itcast == itheihei 的结果是:{name1 == name2}")


# 演示大于小于,大于等于小于等于的比较运算

num1 = 10

num2 = 5

print(f"10 > 5 的结果是:{num1 > num2}")

print(f"10 < 5 的结果是:{num1 < num2}")


num1 = 10

num2 = 11

print(f"10 >= 11 的结果是:{num1 >= num2}")

print("%d >= %d 的结果是:" % (num1, num2), num1 >= num2)

print("10 >= 11 的结果是:", num1 >= num2)

print(f"10 <= 11 的结果是:{num1 <= num2}")

print("10 <= 11 的结果是:", num1 <= num2)

print("%d <= %d 的结果是:" % (num1, num2), num1 <= num2)


输出结果:

bool_1变量的内容是:True,类型是:

bool_1变量的内容是:False,类型是:

10 == 10 的结果是:True

10 != 15 的结果是:True

itcast == itheihei 的结果是: False

itcast == itheihei 的结果是: False

itcast == itheihei 的结果是:False

10 > 5 的结果是:True

10 < 5 的结果是:False

10 >= 11 的结果是:False

10 >= 11 的结果是: False

10 >= 11 的结果是: False

10 <= 11 的结果是:True

10 <= 11 的结果是: True

10 <= 11 的结果是: True


总结

在Python中,可以表示真假的数据类型是

布尔类型,字面量True表示真,字面量False表示假

除了可以定义布尔类型外,还可以通过什么计算得到布尔类型

通过<比较运算符>计算得到布尔类型的结果

  • == 判断是否相等,!= 判断是否不想等
  • > 判断是否大于,< 判断是否小于
  • >= 判断是否大于等于,<= 判断是否小于等于

if语句的基本格式

程序中的判断

if 要判断的条件:

条件成立时,要做的事情

"""演示Python判断语句,if语句基本格式"""

# 定义一个年龄

age = 30

# 进行判断

if age >= 18:

print("我已经成年了")

print("我即将不如大学生活了")


print("时间过的真快啊!")


输出结果:

我已经成年了

我即将不如大学生活了

时间过的真快啊!

# 定义一个年龄

age = 10

# 进行判断

if age >= 18:

print("我已经成年了!!!")

print("我即将不如大学生活了!!!")


print("时间过的真快啊!!!")


输出结果:

时间过的真快啊!

if语句的注意点

判断语句的结果,必须是布尔类型True或False

True会执行if内的代码语句

False则不会执行

if语句判断代码最后一定要加冒号(:),归属于if判断的代码语句块,需在前方填充4个空格缩进,Python通过缩进判断代码块的归属关系。

练习题

结合前面学习的input输入语句,完成如下案例:

1、通过input语句,获取键盘输入,为变量age赋值。(注意转换数字类型)

2、通过if判断是否是成年人,满足条件则输出提示信息,如下:

欢迎来到儿童游乐场,儿童免费,成人收费。

请输入你的年龄:30

您已成年,游玩需要补票10元。

祝您游玩愉快。

提示:您已成年,需要补票的信息输出,来自if判断


"""游乐场补票练习题"""

print("欢迎来到儿童游乐场,儿童免费,成人收费。")

age = int(input("请输入你的年龄:"))

if age >= 16:

print("您已成年,游玩需要补票10元。")


print("祝您游玩愉快!")


输出结果:

欢迎来到儿童游乐场,儿童免费,成人收费。

请输入你的年龄:30

您已成年,游玩需要补票10元。

祝您游玩愉快!

if else语句

if else语句格式

if 条件:

满足条件是要做的事情1

满足条件是要做的事情2

满足条件是要做的事情3

满足条件是要做的事情4

…(省略)…

else:

不满足条件时要做的事情1

不满足条件时要做的事情2

不满足条件时要做的事情3

不满足条件时要做的事情4

…(省略)…

"""游乐场补票练习题"""

print("欢迎来到儿童游乐场,儿童免费,承认收费。")

age = int(input("请输入你的年龄:"))

if age >= 18:

print("您已成年,游玩需要补票10元。")

else:

print("您未成年,可以免费游玩。")


print("祝您游玩愉快!")

if else语句注意点

1、else后,不需要判断条件

2、和if的代码块一样,else的代码块同样需要4个空格作为缩进

总结

if else语句,其中

  • if和其代码块,条件满足时执行
  • else搭配if的判断条件,当不满足的时候执行

if else语句的注意香

  • else不需要判断条件,当if的条件不满足时,else执行
  • else的代码块,同样要4个空格作为缩进

练习题

通过input语句获取键盘输入的身高。

判断身高是否超过120cm,并通过print给出提示信息。

欢迎来到动物园。

请输入您的身高(cm):130

您的身高已超过120cm,游玩需要购票10元。

祝您游玩愉快。

欢迎来到动物园。

请输入您的身高(cm):120

您的身高未超过120cm,可以免费游玩。

祝您游玩愉快。

"""

动物园收费标准案例

"""

# 动物园欢迎语

print("欢迎来到动物园。")


# 获取身高

height = int(input("请输入您的身高(cm):"))


# 判断身高是否超过免费标准

if height > 120:

print("您的身高已超过120cm,游玩需要购票10元。")


else:

print("您的身高未超过120cm,可以免费游玩。")


print("祝您游玩愉快。")

if elif else语句

if elif else语句格式

if 条件1:

条件1满足应做的事情

条件1满足应做的事情

……

elif 条件2:

条件2满足应做的事情

条件2满足应做的事情

……

elif 条件N:

条件N满足应做的事情

条件N满足应做的事情

……

else:

所有条件都不满足应做的事情

所有条件都不满足应做的事情

……

示例1:

"""

if elif else语句演示

"""

print("欢迎来到菜鸟动物园!")

height = int(input("请输入你的身高(cm):"))

vip_level = int(input("请输入你的vip等级(1-5):"))

if height <= 120:

print("你的身高小于120cm,可以免费游玩。")

elif vip_level >= 3:

print("您的vip级别大于3,可以免费游玩。")

else:

print("不好意思,所有条件都不满足,请补票10元。")


print("祝您游玩愉快。")

示例2:

"""

if elif else语句演示

"""

print("欢迎来到菜鸟动物园!")

height = int(input("请输入你的身高(cm):"))

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("不好意思,所有条件都不满足,请补票10元。")


print("祝您游玩愉快。")

if elif else语句的注意点

if elif else语句中if和elif的判断条件是互斥的,判断顺序从上到下,满足第一个条件,后面的条件都作废,以此类推;

  • 满足第一个条件,将不会理会第二和第三及后面的条件。
  • 满足第二个条件,在第一个条件不满足时,满足第二个条件,将不会理会第三个及后面的条件。
  • 所有条件都不满足,进入else
  • else也可以省略不写,效果等同N个独立的if判断。

可以将input语句直接写入到判断条件中,节省代码量。

示例:

"""

if elif else语句演示

"""

print("欢迎来到菜鸟动物园!")

if int(input("请输入你的身高(cm):")) <= 120:

print("你的身高小于120cm,可以免费游玩。")

elif int(input("请输入你的vip等级(1-5):")) >= 3:

print("您的vip级别大于3,可以免费游玩。")

elif int(input("请输入今天的日期(1-30)")) == 1:

print("今天是1号免费日,可以免费游玩。")

else:

print("不好意思,所有条件都不满足,请补票10元。")


print("祝您游玩愉快。")

总结

if elif else语句的作用

可以完成多个条件的判断

使用if elif else的注意点

  • elif 可以写多个
  • 判断时互斥且有序的,上一个满足后面的就不会判断了
  • 可以在条件判断中,直接写input语句,节省代码量

练习题

1、定义一个变量,数字类型,内容随意。

2、基于input语句输入猜想的数字,通过if和多次elif的组合,判断猜想数字是否和心里数字一致。

"""

猜数字练习演示

"""

# 直接定义判断猜想数字

if int(input("请输入猜想的数字:")) == 10:

print("恭喜你猜对啦。")

elif int(input("猜想的不对,请再次输入猜想的数字:")) == 10:

print("恭喜你猜对啦。")

elif int(input("猜想的不对,请输入第三次猜想的数字:")) == 10:

print("恭喜你猜对啦。")

else:

print("很遗憾你没有猜对。")

判断语句的嵌套

许多逻辑的判断时嵌套的,多层次的,可以自由组合 if elif else,来完成特定需求的要求。

基础语法格式

if 条件1:

满足条件1 做的事情1

满足条件1 做的事情2

if 条件2:

满足条件2 做的事情1

满足条件2 做的事情2

如上,第二个 if 属于第一个 if 内,只有第一个 if 满足条件,才会执行第二个 if 。

嵌套关键点,在于空格缩进;通过空格缩进,来决定语句之间的层次关系。

练习题-游乐园门票免费条件判断

"""

游乐园信息登记,符合条件即可免费游玩

"""

print("欢迎来到菜鸟动物园,请进行信息登记,符合条件可免费游玩!")

if int(input("请输入你的身高(cm):")) > 120:

print("不好意思,您的身高不达标。")

if int(input("但是,vip等级达标也可以免费游玩,请输入您的vip等级(1-5):")) < 3:

print("不好意思,您的vip等级不达标。")

if int(input("但是,年龄达标也可以免费游玩,请输入您的年龄:")) < 18:

print("您的年龄已达标,可以免费游玩。")

elif int(input("不好意思,您的年龄不达标。\n但是,猜对数字也可免费游玩,请输入您猜想的数字:")) == 10:

print("恭喜您猜对啦,可以免费游玩。")

else:

print("不好意思,您的条件均不满足,请补票10元!")

else:

print("您的vip等级已达标,可以免费游玩!!")

else:

print("您的身高已达标,可以免费游玩!!!")

print("祝您游玩愉快。")

如上,判断有3层,当外层 if 满足条件时,才会执行内层 if 判断,当外层 if 不满足条件时,直接执行外层 else ;而 if elif 则是 if 不满足条件时,才会执行 elif 。

增加猜数字判断次数字段:

"""

游乐园信息登记,符合条件即可免费游玩

"""

print("欢迎来到菜鸟动物园,请进行信息登记,符合条件可免费游玩!")

if int(input("请输入你的身高(cm):")) > 120:

print("不好意思,您的身高不达标。")


if int(input("vip等级达标也可以免费游玩,请输入您的vip等级(1-5):")) < 3:

print("不好意思,您的vip等级不达标。")


if int(input("年龄达标也可以免费游玩,请输入您的年龄:")) >= 18:

print("不好意思,您的年龄不达标。")

print("但是,猜对数字也可以免费游玩,数字范围1-30,有三次机会,加油!!!")


num = 10

guss_num = int(input("请输入您第一次猜想的数字:"))

if guss_num == num:

print("恭喜您猜对啦,可以免费游玩。")

else:

if guss_num > num:

print(f"很遗憾您猜大了,还有机会,加油!")

else:

print(f"很遗憾您猜小了,还有机会,加油!")


guss_num = int(input("请输入您第二次猜想的数字:"))

if guss_num == num:

print("恭喜您猜对啦,可以免费游玩。")

else:

if guss_num > num:

print(f"很遗憾您猜大了,还有机会,加油!")

else:

print(f"很遗憾您猜小了,还有机会,加油!")


guss_num = int(input("请输入您第三次猜想的数字:"))

if guss_num == num:

print("恭喜您猜对啦,可以免费游玩。")

else:

if guss_num > num:

print(f"很遗憾您猜大了,次数用完了。")

print("不好意思,您的条件均不满足,请补票10元!")

else:

print(f"很遗憾您猜小了,次数用完了。")

print("不好意思,您的条件均不满足,请补票10元!")


else:

print("您的年龄已达标,可以免费游玩。")


else:

print("您的vip等级已达标,可以免费游玩!!")


else:

print("您的身高已达标,可以免费游玩!!!")


print("祝您游玩愉快。")

总结

1、嵌套判断语句可以用于多条件、多层次的逻辑判断。

2、嵌套判断语句可以根据需求,自由组合 if elif else 来构建多层次判断。

3、嵌套判断语句,一定要注意空格缩进,Python通过空格缩进来决定层次关系。

实战案例

1、定义一个数字(1-10,随机产生),通过3次判断来猜出来数字。

要求:

  • 数字随机产生,范围:1-10
  • 有3次机会猜测数字,通过3层套嵌判断实现
  • 每次猜不中,提示大了或者小了

随机产生数字的办法:

import random

num = random.randint(1, 10)


"""

随机产生1-10数字

3次猜数字机会

"""

# 随机产生1-10数字

import random

num = random.randint(1, 10)


guess_num = int(input("请输入你猜测的数字"))

# 获取键盘输入的数字,并进行判断是否猜中if guess_num == num:

print("恭喜你,第一次就猜中了!")

else:

if guess_num > num:

print("你猜测的数字大了。")

else:

print("你猜测的数字小了。")


guess_num = int(input("请再次输入你猜测的数字:"))

if guess_num == num:

print("恭喜你,第二次就猜中了。")

else:

if guess_num > num:

print("你猜测的数字大了。")

else:

print("你猜测的数字小了。")


guess_num = int(input("请第三次输入你猜测的数字:"))

if guess_num == num:

print("恭喜你,第三次就猜中了。")

else:

if guess_num > num:

print("你猜测的数字大了。")

else:

print("你猜测的数字小了。")

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  9JCEeX0Eg8g4   2023年11月25日   24   0   0 ednpython
  38gcbVXUBcLA   2023年11月19日   18   0   0 python缩进
  6tuRdFP5lxfF   2023年11月22日   18   0   0 python日志记录