Python小白入门指南➖判断语句
Python小白入门指南➖判断语句
关于作者
- 作者介绍
进行逻辑判断,是生活中常见的行为。同样,在程序中,进行逻辑判断也是最为基础的功能。
为什么学习判断语句
判断在程序中广泛应用,如果没有它,这些功能都难以实现。
布尔类型和比较运算符
布尔类型,进行判断,只有2个结果:是、否
布尔(bool)表达现实生活中的逻辑,即真和假
- True表示真
- False表示假
True本质上是一个数字记作1,False记作0
定义变量存储布尔类型数据: 变量名称 = 布尔类型字面量
比较运算符:
运算符 | 描述 | 示例 |
---|---|---|
== | 判断内容是否相等,满足为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 |
if语句的基本格式
if判断语句:
# 定义变量
age = 30
# 进行判断
if age >= 18:
print("我已经成年了")
判断语句的结果,必须是布尔类型True或False。True会执行if内的代码语句,False则不会执行。\
age = 18
print(f"今年我已经{age}岁了")
if age >= 18:
print("我已经成年了")
print("即将步入大学生活")
print("时间过的真快")
练习案例:成年人判断
结合前面学习的input输入语句,完成如下案例:
-
通过input语句,获取键盘输入,为变量age赋值。(注意转换成数字类型)
-
通过if判断是否是成年人,满足条件则输出提示信息,如下:
提示:您已成年,需要补票的信息输出,来自if判断。
print("欢迎来到儿童游乐场,儿童免费,成人收费")
play_price = 100
age = int(input('请输入你的年龄:'))
if age >= 18:
print(f'您已成年,游玩需要补票{play_price}元。')
else:
print(f'您未成年,游玩不需要补票。')
if else 语句
if 条件:
满足条件时要做的事情1
满足条件时要做的事情2
满足条件时要做的事情3
...(省略)...
else:
不满足条件时要做的事情1
不满足条件时要做的事情2不满足条件时要做的事情3
...(省略)...
- else后,不需要判断条件
- 和if的代码块一样,else的代码块同样需要4个空格作为缩进
if elif else语句
if 条件1:
条件1满足应做的事情
条件1满足应做的事情
elif 条件2:
条件2满足应做的事情
条件2满足应做的事情
elif 条件N:
条件N满足应做的事情
条件N满足应做的事情
else:
所有条件都不满足应做的事情
所有条件都不满足应做的事情
print("欢迎来到动物园Zoo")
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("祝您游玩愉快。")
if elif else语句 注意点
练习案例:猜猜心里数字
- 定义一个变量,数字类型,内容随意。
- 基于input语句输入猜想的数字,通过if和多次elif的组合,判断猜想数字是否和心里数字一致。
请输入第一次猜想的数字:1
不对,再猜一次:2
不对,再猜最后一次:3
Sorry,全部猜错啦,我想的是:10
guess_num = 10
if int(input("请输入第一次猜想的数字:")) == guess_num:
print("恭喜你猜对了!")
elif int(input("不对,再猜一次:")) == guess_num:
print("恭喜你猜对了!")
elif int(input("不对,再猜最后一次:")) == guess_num:
print("恭喜你猜对了!")
else:
print(f"Sorry,全部猜错啦,我想的是:{guess_num}")
判断语句的嵌套
有很多场景,不仅仅是多个并列条件,还会有满足前置条件才会二次判断的多层判断需求。
对这种需求,嵌套判断语句可以实现
许多逻辑的判断,是嵌套的,多层次的。
对于这种需求,我们可以:自由组合 if elif else
,完成特定需求的要求
基础语法格式如下:
if 条件1:
满足条件1 做的事情1
满足条件1 做的事情2
if 条件2:
满足条件2 做的事情1
满足条件2 做的事情2
#上述,第二个if,属于第一个if内,只有第一个if满足条件,才会执行第二个if
#嵌套的关键点,在于:空格缩进
#通过空格缩进,来决定语句之间的:层次关系
实战案例
定义一个数字(1~10,随机产生),通过3次判断来猜出来数字
要求:
- 数字随机产生,范围1-10
- 有3次机会猜测数字,通过3层嵌套判断实现
- 每猜不中,会提示大了或小了
提示,通过如下代码,可以定义一个变量num,变量内存储随机数字。
import random
num = random.randint(1, 10)
random_num = random.randint(1, 10)
print(f"{random_num}")
input_num1 = int(input("请输入第一次猜想的数字:"))
if input_num1 == random_num:
print("恭喜你猜对了!")
elif input_num1 < random_num:
input_num2 = int(input("猜小了,请再一次输入想要猜出的数字:"))
if input_num2 == random_num:
print("恭喜你猜对了!")
elif input_num2 < random_num:
input_num3 = int(input("猜小了,请再一次输入想要猜出的数字:"))
if input_num3 == random_num:
print("恭喜你猜对了!")
else:
print(f"Sorry,机会已经用完,我想的数字是:{random_num}")
else: #input_num2 > random_num
input_num2 = int(input("猜大了,请再一次输入想要猜出的数字:"))
if input_num2 == random_num:
print("恭喜你猜对了!")
else :
print(f"Sorry,机会已经用完,我想的数字是:{random_num}")
else: #input_num1 > random_num
input_num2 = int(input("猜大了,请再一次输入想要猜出的数字:"))
if input_num2 == random_num:
print("恭喜你猜对了!")
elif input_num2 < random_num:
input_num3 = int(input("猜小了,请再一次输入想要猜出的数字:"))
if input_num3 == random_num:
print("恭喜你猜对了!")
else:
print(f"Sorry,机会已经用完,我想的数字是:{random_num}")
else: # input_num2 > random_num
input_num2 = int(input("猜大了,请再一次输入想要猜出的数字:"))
if input_num2 == random_num:
print("恭喜你猜对了!")
else:
print(f"Sorry,机会已经用完,我想的数字是:{random_num}")
转载自:https://juejin.cn/post/7313834600719908927