第3章:python的判断语句

发布时间:2024年01月11日

学一门语言,无外乎多敲,多用,记得回顾昨天写过的代码呀

image-20230912195841047

image-20230912195948856

布尔类型和比较运算符

image-20230912200122647

image-20230912200212544

布尔类型的定义

image-20230912200311732

使用比较运算符进行比较运算得到布尔类型的结果

image-20230912200420625

比较运算符

image-20230912201848032

"""
演示布尔类型的定义
以及比较运算符的应用
?
"""
#定义变量存储布尔类型的数据
bool_1=True
bool_2=False
print(f"bool_1变量的内容是:{bool_1},类型是{type(bool_1)}")
print(f"bool_2变量的内容是:{bool_2},类型是{type(bool_2)}")

image-20230912202734027

"""
演示布尔类型的定义
以及比较运算符的应用
?
"""
#定义变量存储布尔类型的数据
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="itcase"
name2="chy"
print(f"itcase == chy的结果是:{name1==name2}")
?
#演示下小于大于,小于等于,大于等于的比较运算
num1=5
num2=10
print(f"10>5的结果是:{num1<num2}")
?
num1=10
num2=5
print(f"5<10的结果是:{num2<num1}")
?
num1=10
num2=10
print(f"10>=10的结果是:{num1>=num2}")
print(f"10<=10的结果是:{num1<=num2}")

image-20230913164552639

image-20230913164659716

if语句的基本格式

image-20230913164943487

python通过空格缩进,来判断归属

image-20230913165155363

注意:if判断语句的下一个语句后第一个语句要有4个空格,以此来判断归属

"""
演示Python判断语句:if语句的基本格式应用
?
"""
?
age=30
if age>=18:
 ? ?print("我已经成年了")
 ? ?print("即将步入大学生活")
?
print("时间过的真快呀")

image-20230913165937141

若将age=30改为age=10

image-20230913170024259

这就说明if有严格的缩进。

image-20230913170229082

image-20230913170254995

image-20230913170342132

练习题1

image-20230913170456186

"""
演示练习题:判断是否是成人
?
"""
?
#获取键盘输入
#age= input("请输入你的年龄")#input输入的内容是字符串,需要将其转换为数字类型,用以下代码
age = int(input("请输入你的年龄:"))
#通过if语句进行判断
if age>=18:
 ? ?print("您已成年,游玩需要买票:10元")
print("祝您游玩愉快")

image-20230913171347700

注意:1.input输入的是字符串,判断的时候需要转换成int数字类型

2.判断语句的结果必须是Ture或者False的类型,当是ture时候会执行

3.严格的四个空格不能少

if else语句

image-20230918171943065

image-20230918172028974

"""
演示Python中
if else的组合判断语句
"""
?
age = int(input("亲输入你的年龄:"))
if age >= 18:
 ? ?print("您已成年,需要买票10元。")
else:
 ? ?print("您未成年,可以年费游玩。")
print("祝您玩的愉快")

image-20230918172829518

image-20230918172904509

image-20230918172944347

练习题2

image-20230918173034907

"""
演示根据身高来确定是否买票
"""
print("欢迎来到黑马动物园")
#定义键盘输入获取身高数据
height = int(input("请输入您的身高:"))
#通过if进行判断
if height>120:
 ? ?print("您的身高超过120cm,游玩需要购票10元")
else:
 ? ?print("您的身高未超出120cm,可以免费游玩。")
print("祝您游玩愉快。")

image-20230918173931543

if-elif-else语句

image-20230918174205620

image-20230918174354282

image-20230918174450251

"""
演示if elif else 语句
?
"""
print("欢迎来到我的博客世界")
height = int(input("请输入您的身高(cm):"))
vip_level=int(input("请输入您的vip级别(1~5):"))
#通过if判断,可以使用多条件判断的语法
#第一个条件就是if
#满足其中一个条件,就可以输出,若满足第一个条件,而不满足第2个条件,也会输出第一个条件下的输出
if height < 120:
 ? ?print("您的身高小于120cm,可以免费游玩")
elif vip_level > 3:
 ? ?print("您的vip级别大于3,可以免费游玩。")
else:
 ? ?print("不好意思,所有条件都不满足,需要购票10元。")
print("祝您游玩愉快")

image-20230918225034746

当两个条件都不满足时候,会有不满足的提示

image-20230918225340960

很明显满足了第一个条件,再次满足第二个条件时,不会进行判断输出,故当第一个判断满足条件时,第二个elif就没有用处了,即是多条件判断时,条件之间是互斥的,if满足条件,elif就没有用了

再添加一个判断条件

image-20230918225720394

"""
演示if elif else 语句
?
"""
print("欢迎来到我的博客世界")
height = int(input("请输入您的身高(cm):"))
vip_level=int(input("请输入您的vip级别(1~5):"))
day = int(input("请告诉我今天几号:"))
#通过if判断,可以使用多条件判断的语法
#第一个条件就是if
#满足其中一个条件,就可以输出,若满足第一个条件,而不满足第2个条件,也会输出第一个条件下的输出
if height < 120:
 ? ?print("您的身高小于120cm,可以免费游玩")
elif vip_level > 3:
 ? ?print("您的vip级别大于3,可以免费游玩。")
elif day==1
 ? ?print("今天是1号免费日,可以免费")
else:
 ? ?print("不好意思,所有条件都不满足,需要购票10元。")
print("祝您游玩愉快")

image-20230918230105975

当前两个条件都不满足时,如果满足第3个条件,也可以输出

即当第一个if满足时候,剩下两个判断就没有用了,当第二个判断满足时候,第三个就没有用了,即是所有的判断条件只有一个能被执行

image-20230918230420323

下面注释掉最后一个else

"""
演示if elif else 语句

"""
print("欢迎来到我的博客世界")
height = int(input("请输入您的身高(cm):"))
vip_level=int(input("请输入您的vip级别(1~5):"))
day = int(input("请告诉我今天几号:"))
#通过if判断,可以使用多条件判断的语法
#第一个条件就是if
#满足其中一个条件,就可以输出,若满足第一个条件,而不满足第2个条件,也会输出第一个条件下的输出
if height < 120:
    print("您的身高小于120cm,可以免费游玩")
elif vip_level > 3:
    print("您的vip级别大于3,可以免费游玩。")
elif day ==1:
    print("今天是1号免费日,可以免费")
#else:
#   print("不好意思,所有条件都不满足,需要购票10元。")
print("祝您游玩愉快")

image-20230918230604356

对应输出结果如上,也就是说没有最后else也可以正常运行

image-20230918230708259

当都不满足时,什么都没有发生

image-20230918230803981

image-20230918230833020

但是这里有个问题,那就是当满足了第一个条件后,还会再要求判断是否满足第二个条件,这不是多此一举吗?

如何解决?

"""
演示if elif else 语句

"""
print("欢迎来到我的博客世界")

#通过if判断,可以使用多条件判断的语法
#第一个条件就是if
#满足其中一个条件,就可以输出,若满足第一个条件,而不满足第2个条件,也会输出第一个条件下的输出
if int(input("请输入您的身高(cm):"))< 120:
    print("您的身高小于120cm,可以免费游玩")
elif int(input("请输入您的vip级别(1~5):")) > 3:
    print("您的vip级别大于3,可以免费游玩。")
elif int(input("请告诉我今天几号:")) ==1:
    print("今天是1号免费日,可以免费")
else:
  print("不好意思,所有条件都不满足,需要购票10元。")
print("祝您游玩愉快")

这样就不会让一个一个输入,而是按顺序输入,在此种情况下,当满足第一个if时,就没有其他另外两个判断语句的出现了,而以前的情况就是第一个满足了也会让输入第2个判断

image-20230918231656079

当第一个不满足时,才让你输入第2个数值进行判断,满足第2个调价后,也不会再进行第三个条件判断

image-20230918231830346

image-20230918232000881

练习题3

image-20230918232056199

"""
演示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,你猜错了")

假如最后一次才猜对,情况如下:

image-20230919220349218

都没有猜对的话

image-20230919220443973

判断语句的嵌套

image-20230919221205864

image-20230919221254912

image-20230919221356612

嵌套判断语句:当满足外层循环后,才会判断是否满足内层循环,当外层的循环都不满足时,直接执行外层的else

image-20230919221518772

"""
演示判断语句的嵌套

"""
if int(input("请输入你的身高:")) > 120:
    print("身高超出限制,不可以免费")
    print("但是,如果vip级别大于3,还是可以免费的哦")
    if int(input("那就输入你的vip级别吧:")) > 3:
        print("恭喜你,vip级别达标,可以免费")
    else :
        print("sorry,你需要买票10元")
else:
    print("欢迎你进入,可以免费游玩")

身高和级别都不满足条件时候的输出

image-20230919222453317

当身高不满足,但是vip级别满足时的输出

image-20230919222540384

image-20230919222739581

age = 11
year =1
level =1
if age >=18:
    print("你是成年人")
    if age < 30:
        print("你的年龄达标了")
        if year >2:
           print("恭喜你,年龄和入职时间都达标,可以领取")
        elif level > 3:
            print("恭喜你,年龄和入职时间都达标,可以领取")
        else:
            print("不好意思,尽管年龄达标,但是入职时间和级别都不达标。")
    else:
        print("不好意思,年龄太大了")
else:
    print("不好意思,小朋友不可以领取。")

根据不同的年龄,工作时间以及级别进行判断

print("公司要来发礼物了,快来看一下你是否满足条件吧")
age=int(input("请输入你的年龄:"))
if(age>=18)and(age<30):
    if int(input("请输入你的入职时间:"))<=2:
        print("不好意思,你的工龄小于等于2,不可以领取")
        print("但是你的级别如果大于3,也可以领取")
        if int(input("请输入你的级别:"))>3:
            print("你的级别大于3,也可以领取")
    else:
        print("你的工龄大于2,可以领取")
else:
    print("你的年龄不符合要求,不能领取")

image-20230919224122231

实战案列-猜数字

image-20230929164659654

#1.构建一个随机的数字变量

import random
num = random.randint(1,10)
print(num)

随机产生一个1-10之间的数字

"""
演示判断语句的实战案例:终极猜数字
"""
#1.构建一个随机的数字变量
import random
num = random.randint(1,10)
print(num)
#输入你要猜测的数字
guess_num = int(input("输入你要猜测的数字:"))
#2.通过if判断语句进行数字的猜测
if guess_num == num:
    print("恭喜,你第一次就猜中了")
else:
    if guess_num>num:
        print("你猜测的数字大了")
    else:
        print("你猜测的数字小了")
    guess_num = int(input("请再次输入你要猜测的数字:"))#在第一个else里包含之中
    if guess_num == num:
        print("恭喜,第二次猜中了")
    else:
          if guess_num > num:
               print("你猜测的数字大了")
          else:
               print("你猜测的数字小了")
          guess_num = int(input("请最后一次输入你要猜测的数字:"))#在第2个else之中
          if guess_num == num:
              print("恭喜,最后一次猜中了")
          else:
              print("不好意思,三次机会用完了,游戏结束")

第一次就猜对的情况

image-20230929170855646

第二次猜对的情况

image-20230929170931754

第三次猜对的

文章来源:https://blog.csdn.net/weixin_49765221/article/details/135539688
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。