Python语言零基础入门——条件判断

目录

一、单分支选择结构:if语句

二、双分支选择结构:if-else

三、多分支选择结构

四、嵌套选择

五、match语句

match与if的对比

六、代码规范

七、练习题

1.年龄判断

2.成绩判断

3.闰年判断


一、单分支选择结构:if语句

if 条件:
    下级代码
    ……

例如:

weather = '下雨'
if weather == '下雨':
    print('带伞')  # if语句的下级代码

运行结果:

带伞

注意:缩进影响代码执行结果。如下列代码:

age = 17
if age >= 18:
    print('可以进网吧')
    print('hello')

运行结果:(null)

 

而下列代码:

age = 17
if age >= 18:
    print('可以进网吧')
print('hello')

运行结果:

hello

二、双分支选择结构:if-else

if 条件:
    任务1
    ……
else:
    任务2
    ……

例1:

weather = ('下雨')
if weather == '下雨':
    print('带伞')
else:
    print('带帽子')

运行结果:

带伞

例2:判断年龄

age = int(input('请输入你的年龄:'))
if age >= 18:
    print('可以谈恋爱了')
else:
    print('不能早恋')

运行结果:

请输入你的年龄:17
不能早恋

三、多分支选择结构

if 条件1:
    任务1
    ……
elif 条件2:
    任务2
    ……
elif 条件3:
    任务3
    ……
else:
    任务4
    ……

例1:

score = 98
if score > 90:
    print('A')
elif score > 80 and score < 90:
    print('B')
elif score > 70 and score < 80:
    print('C')
else:
    print('D')

运行结果:

A

用双分支嵌套实现例1的功能:

score = 98
if score > 90:
    print('A')
else:
    if score > 80:
        print('B')
    else:
        if score > 70:
            print('C')
        else:
            print('D')

例1的优化:

score = 98
if score > 90:
    print('A')
elif score > 80:
    print('B')
elif score > 70:
    print('C')
else:
    print('D')

用单分支实现例1 :

score = 98
if score > 90:
    print('A')
if score > 80 and score < 90:
    print('B')
if score > 70 and score < 80:
    print('C')
if score <= 70:
    print('D')

例2:bmi计算,bmi = 体重(kg) / (身高*身高(米))。若bmi < 18.5:过瘦;18.5-23.9:正常;bmi > 23.9:过胖

w = float(input("请输入你的体重(kg):"))
h = float(input("请输入你的身高(米):"))
bmi = w / (h * h)
print('bmi为:',bmi)
if bmi < 18.5:
    print('过瘦')
elif bmi < 23.9:
    print('正常')
else:
    print('过胖')

运行结果:

请输入你的体重(kg):45
请输入你的身高(米):1.65
bmi为: 16.528925619834713
过瘦

四、嵌套选择

  • 在开发中,使用if进行条件判断,如果希望在条件成立的执行语句中再增加条件判断,就可以使用 if 的嵌套
  • if 的嵌套的应用场景就是:在之前条件满足的前提下,再增加额外的判断
  • if 的嵌套的语法格式,除了缩进之外和之前的没有区别
if 条件1:
    满足条件1的任务1
    ……
    if 条件1基础上的条件2:
        满足条件2的任务2
        ……
    else:
        条件2不满足时的任务3
else:
    不满足条件1的任务4
    ……

五、match语句

  • Python中的match语句是Python 3.10及以后版本中引入的新特性,用于模式匹配
  • 它允许你根据对象的模式来检查对象,并执行相应的代码块。

语法规则:

  • match语句中的每个代码块由一个或多个case子句组成。
  • 每个case子句后面跟着一个模式和一个代码块。
  • 当模式匹配成功时,会执行相应的代码块。
  • 如果没有任何模式匹配成功,则可以选择使用一个默认的代码块,使用下划线_来表示。

例1:

x = 17
match x:
    case 1:
        print("x is 1")
    case 2:
        print("x is 2")
    case _:
        print("x is not 1 or 2")

运行结果:

x is not 1 or 2

例2:拼写检查

x = '-17'
match x:
    case '-17':
        print("正确")
    case '17':
        print("少写了-")
    case _:
        print("请仔细检查")

运行结果:

正确

match与if的对比:

if:

  • if语句是最基本的条件控制结构,用于基于条件测试执行不同的代码块。
  • if语句在处理简单条件和分支时非常有用。
  • 可以使用elif(else if)来添加额外的条件分支。
  • if语句不支持模式匹配,只能基于布尔表达式进行条件判断。

match:

  • match语句是Python 3.10及以后版本引入的新特性,主要用于模式匹配
  • match语句允许你根据对象的模式结构来检查对象,并根据匹配的模式执行相应的代码块
  • match语句特别适用于处理复杂的数据结构,如元组、列表、字典等,以及自定义类的实例
  • 它通过模式匹配提供了更简洁、更直观的方式来处理复杂的条件逻辑。

六、代码规范

缩进:

  • 条件判断、循环、函数定义的时候都需要用缩进来控制代码块结束
  • 小技巧:一般句尾有冒号时,都是需要缩进的
  • 四个空格或者一个tab键为一个缩进

代码编排:

  • 缩进4个空格,不能用tab键和空格混合缩进
  • 所有行限制的最大字符数为79
  • 添加适当的空行

空格

  • 二元运算符两边添加一个空格
  • 逗号、分号、冒号后边留一个空格,前面不留

七、练习题

1.年龄判断:判断年龄是否在0-120之间

age = input('请输入你的年龄:')
if age.isdigit():  # 判断是否全是数字
    age = int(age)
    if age >= 0 and age <= 120:
        print('输入正确')
    else:
        print("输入错误,请重新输入")
else:
    print('请输入阿拉伯数字')

运行结果:

请输入你的年龄:17
输入正确

2.成绩判断:两门成绩,只要有一门>=60就合格

py_score = input('请输入你的Python课程成绩:')
c_score = input('请输入你的C语言成绩:')
if py_score.isdigit() and c_score.isdigit():
    py_score = int(py_score)
    c_score = int(c_score)
    if py_score >= 60 or c_score >= 60:
        print('合格')
    else:
        print('重修')
else:
    if py_score.isdigit() == False:
        print('python成绩必须输入数字')
    if c_score.isdigit() == False:
        print('C语言成绩必须输入数字')

运行结果:

请输入你的Python课程成绩:56
请输入你的C语言成绩:93
合格

3.闰年判断:①是4的倍数且不是100的倍数;②是400的倍数

year = int(input('请输入年份:'))
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
    print('是闰年')
else:
    print('不是闰年')

运行结果:

请输入年份:1215
不是闰年

  • 11
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值