python的自学之路—第五节:学习判断语句---if...elif...else

前言:这个博客是为了记录我的学习过程也是为了能够有一种动力学习python,欢迎大家监督更新此博客。
                                     (更新:2023年2月17日)

  •  本博客所书写的文字类似于自述性的文字,官方话语较少,也有可能是自言自语的话,不过也比较真实记录学习过程。

第五节:if 语句

  在程序中,重要的不只是循环,在继续深入编写程序的时候,程序的判断语句在整个程序中地位也是非常重的

判断的表达式

等于大于小于不等于大于或等于小于或等于
==><!=>=<=andor

一、简单匹配判断

1.if…else…

  在程序中,例如你存储了一个列表,但是列表里面有一些特殊的元素需要大写输出,列表里面存储的为小写,现在就进行简单的匹配判断,找出我们需要的来进行大写,其他原封不动输出小写:

# 创建一个列表
one = ['汽车', 'huang', 'two', 'xin', 'six']
for ones in one:    # 进行列表循环
    if ones == 'huang':   # 匹配是否为huang,如果是则执行打印,不是就执行else下程序
        print(ones.upper())      
    else:
        print(ones)

  程序中,除了我们之前学到的循环,多出了两个:ifelse两个函数参数,这里解释一下,if表示进行后面的表达式对比( ones == ‘huang’—这就是表达式),如果表达式的结果为,就是表达式成立则执行if下面的程序,如果表达式不成立,则无条件执行else下面的程序,下面的huang匹配上了,所有huang被全部大写输出了:

# 输出的结果为:
汽车
HUANG
two
xin
six

要是我说的不清楚,这是官方解释:每条if 语句的核心都是一个值为True 或False 的表达式,这种表达式称为条件 测试 。Python根据条件测试的值为True 还是False 来决定是否执行if 语句中的 代码。如果条件测试的值为True ,Python就执行紧跟在if 语句后面的代码;如果 为False ,Python就忽略这些代码。


  这种判断机制不仅可以判断字母,中文也可以,数字也可以,只要表达式成立即可,大家灵活多变,例如现在的if判断语句是区分大小写的,如果你在判断时不想区分大小写怎么办呢很简单:

# 创建一个列表
one = ['汽车', 'Huang', 'two', 'xin', 'six']
for ones in one:    # 进行列表循环
    if ones.lower == 'huang':   # 把要匹配的元素全部转成小写是否为huang,如果是则执行打印,不是就执行else下程序
        print(ones.upper())      
    else:
        print(ones)
  • 大家对比一下有那些不同,在判断时多了 .lower,这种方法同样适用于 .upper/.title,另外注意这种转换不会对中文有影响,输出的结果还是一样的,这样就可以Huang==huang。
# 输出的结果为:
汽车
HUANG
two
xin
six

二、多条件判断

1.and、or

  要检查是否两个条件都为True ,可使用关键字and 将两个条件测试合而为 一。如果每个测试都通过了,整个表达式就为True ;如果至少一个测试没有 通过,整个表达式就为False。 True为真;False为假

age = 18
age1 = 23
if age > 20 and age1 > 22:
    print("你们可以结婚啦!")
else:
    print("年纪不符合结婚年纪!")
  • 在上面的表达式中age1是已经大于22岁了,但是由于age小于20岁,所以整个表达式为假,不会执行if下面的程序,必须是and的前后表达式都为真才能执行:
# 输出结果为:
年纪不符合结婚年纪!

  关键字or 也能够让你检查多个条件,但只要至少一个条件满足,就能通过整个 测试。仅当两个测试都没有通过时,使用or 的表达式才为False

age = 18
age1 = 23
if age > 20 or age1 > 22:
    print("你们可以结婚啦!")
else:
    print("年纪不符合结婚年纪!")
  • 这里的结果就跟上面不一样了,这里使用了or,所以对于if来说表达式为真:
# 输出结果为:
你们可以结婚啦!

空判断

检查列表等是否为空

  这个是一个特殊的if语句,就是如果列表不为空就会执行if下面的程序,如果为空就执行其他:

age = ['18']
if age:
   print(age)
else:
   print("你没有年纪在列表内")
  • 此时列表不为空,所以执行if下面的程序:
# 输出结果为:
 ['18']
  • 把列表的18删除之后,执行else下面的语句:
# 输出结果为:
你没有年纪在列表内
  • 以上就是简单的空判断语句。

三、多重判断

if…elif…else

  在晨旭中,有时候可能会出现不同的条件触发不同的程序,上面的单独if…else就不满足这个条件使用了,然后python支持elif多重匹配,匹配原则为:顺序匹配,匹配上一个就不会再去匹配下面的判断语句。

age = 20
if age:
    if age < 12:
        print("你的年纪不到12岁可以免门票哦!")
    elif age < 18:
        print("你的年纪不到18岁可以享受半价门票!")
    elif age < 60:
        print("你已经是成年人了,买全票去!") 
    elif age >= 60:
        print("你已经有60岁啦,免门票!")

  • 这个程序就可以根据不同的年纪输出不同的结果,大家可以修改一下年纪,输出的结果都不一样。注意if语句可以不适用else结尾。
# 输出结果为:
你已经是成年人了,买全票去!
  • 在程序中,elif是可以无限使用的。

这一节的内容比较少,也比较好记,不过重要程度很高哦,因为所有的程序都离不开判断语句的,溜溜球,下一节见

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI_老猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值