Python学习路线 - Python语言基础入门 - 判断语句

Python学习路线 - Python语言基础入门 - 判断语句

前言

进行逻辑判断,是生活中常见的行为。同样,在程序中,进行逻辑判断也是最为基础的功能。

为什么学习判断语句

判断在程序中广泛应用,如果没有它,这些功能都难以实现。

布尔类型和比较运算符

布尔类型

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

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

类型 描述 说明
数字(Number) 支持 1》整数(int) 2》浮点数(float) 3》复数(complex) 4》布尔(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 表示假 (否、否定)

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

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

比较运算符

布尔类型的数据,不仅可以通过定义得到,也可以通过比较运算符进行内容比较得到。

运算符 描述 示例
== 判断内容是否相等,满足为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

代码示例:

javascript 复制代码
"""
演示布尔类型的定义
以及比较运算符的应用
"""
# 定义变量存储布尔类型的数据
bool_1 = True
bool_2 = False
print(f"bool_1变量的内容是:{bool_1},类型是:{type(bool_1)}")
print(f"bool_2变量的内容是:{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 = "mry"
name2 = "mry"
print(f"mry == mry 结果是:{name1 == name2}")

# 演示大于小于,小于等于小于等于的比较运算
num1 = 10
num2 = 5
print(f"10 > 5 结果是:{num1 > num2}")
print(f"10 < 5 结果是:{num1 < num2}")

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

if语句的基本格式

if判断语句

代码示例:

javascript 复制代码
"""
演示Python判断语句:if语句的基本格式应用
"""
age = 30

if age >= 18:
    print("我已经成年了")
    print("即将步入大学生活")

print("时间过的真快呀")

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

True会执行if内的代码语句

False则不会执行

练习案例:成年人判断

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

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

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

javascript 复制代码
"""
演示练习题:成年人判断
"""

# 获取键盘输入
age = int(input("请输入你的年龄:"))

# 通过if判断是否是成年人
if age >= 18:
    print("您已成年,游玩需要买票,10元。")

print("祝你游玩快乐")

if else 语句

代码示例:

javascript 复制代码
"""
演示Python中if else的组合判断语句
"""
age = int(input("请输入你的年龄:"))

if age >= 18:
    print("您已成年,需要买票10元。")
else:
    print("您未成年,可以免费游玩。")

注意点:

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

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

练习案例:我要买票吗

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

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

javascript 复制代码
"""
演示if else练习题:我要买票吗
"""

# 定义键盘输入获取身高数据
height = int(input("请输入你的身高(cm):"))

# 通过if进行判断
if height > 120:
    print("您的身高超出120CM,需要买票,10元。")
else:
    print("您的身高低于120CM,可以免费游玩。")

print("祝你游玩愉快")

if elif else 语句

代码示例:

javascript 复制代码
"""
演示if elif else 多条件判断语句的使用
"""

height = int(input("请输入你的身高(cm):"))
vip_level = int(input("请输入你的VIP等级(1-5):"))

# 通过if判断,可以使用多条件判断的语法
# 第一个条件就是if
if height < 120:
    print("身高小于120cm,可以免费。")
elif vip_level > 3:
    print("vip级别大于3,可以免费。")
else:
    print("不好意思,条件都不满足,需要买票10元")

空格缩进同样不可省略

练习案例:猜猜心理数字

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

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

javascript 复制代码
"""
演示if elif else练习题:猜猜心里数字
"""

# 定义一个变量数字
num = 5

# 通过键盘输入获取猜想的数字,通过多少if 和 elif的组合进行猜想比较
if int(input("请猜一个数字:")) == num:
    print("恭喜第一次就猜对了呢")
elif int(input("猜错了,再猜一次:")) == num:
    print("猜对了")
elif int(input("猜错了,再猜一次:")) == num:
    print("恭喜,最后一次机会,你猜对了")
else:
    print("Sorry 猜错了")

判断语句的嵌套

许多逻辑的判断,是嵌套的,多层次的。

对于这种需求,我们可以:自由组合 if elif else,完成特定需求的要求

基础语法格式如下:

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

嵌套的关键点,在于:空格缩进

通过空格缩进,来决定语句之间的:层次关系

代码示例:

javascript 复制代码
"""
演示判断语句的嵌套使用
"""

if int(input("你的身高是多少:")) > 120:
    print("身高超出限制,不可以免费")
    print("但是,如果vip级别大于3,可以免费")

    if int(input("你的vip级别是多少:")) > 3:
        print("恭喜你,vip级别达标,可以免费")
    else:
        print("Sorry 你需要买票10元")

else:
    print("欢迎小朋友,免费游玩。")

注意:

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

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

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

实战案例

案例需求:

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

案例要求:

1.数字随机产生,范围1-10

2.有3次机会猜测数字,通过3层嵌套判断实现

3.每次猜不中,会提示大了或小了

提示,通过如下代码,可以定义一个变量num,变量内存储随机数字。

import random

num = random.randint(1,10)

javascript 复制代码
"""
演示判断语句的实战案例:终极猜数字
"""

# 1.构建一个随机的数字变量
import random
num = random.randint(1,10)

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

# 2.通过if判断语句进行数字的猜测
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:
            print("三次机会用完了,没有猜中。")
相关推荐
天天要nx3 分钟前
D64【python 接口自动化学习】- python基础之数据库
数据库·python
feifeikon41 分钟前
Python Day5 进阶语法(列表表达式/三元/断言/with-as/异常捕获/字符串方法/lambda函数
开发语言·python
杰仔正在努力1 小时前
python成长技能之枚举类
开发语言·python
Eiceblue1 小时前
通过Python 调整Excel行高、列宽
开发语言·vscode·python·pycharm·excel
Jam-Young2 小时前
Python中的面向对象编程,类,对象,封装,继承,多态
开发语言·python
Light602 小时前
低代码牵手 AI 接口:开启智能化开发新征程
人工智能·python·深度学习·低代码·链表·线性回归
墨绿色的摆渡人2 小时前
用 Python 从零开始创建神经网络(六):优化(Optimization)介绍
人工智能·python·深度学习·神经网络
小han的日常2 小时前
pycharm分支提交操作
python·pycharm
明月清风徐徐3 小时前
Scrapy爬取豆瓣电影Top250排行榜
python·selenium·scrapy
theLuckyLong3 小时前
SpringBoot后端解决跨域问题
spring boot·后端·python