if 语句

代码缩进为一个 tab 键,或者四个空格,建议用四个空格。

同级代码必须缩进相同空格,if 和 else 里面缩进不同没关系,比如 if 下面缩进是 4 个空格,else 下面缩进是 2 个空格,是完全没有问题的。

程序示例:

weather = '晴天'
if weather == '下雨':
    print("出门要带伞")
elif weather == '阴天':
    print("出门要带帽子")
elif weather == '大风天':
    print("出门要多穿衣服")
else:
    print("出门啥也不用带")

程序示例:

weight = float(input("Enter your weight in kg: "))
height = float(input("Enter your height in m: "))
BMI = weight / (height * height)
if BMI <= 18.5:
    print("Your BMI is %f, it is too thin" % BMI)
elif BMI <= 23.9:
    print("Your BMI is %f, it is okay" % BMI)
else:
    print("Your BMI is %f, it is too fat!" % BMI)

结果:

Enter your weight in kg: 75
Enter your height in m: 1.76
Your BMI is 24.212293, it is too fat!

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

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

match 语句特别适用于处理复杂的数据结构,如元组、列表、字典等,以及自定义类的实例。它通过模式匹配提供了更简洁、更直观的方式来处理复杂的条件逻辑。

match-case 的基本结构如下:

match expression:
    case pattern1:
        # 匹配 pattern1 时执行的代码
    case pattern2 | pattern3 | pattern4 | pattern5 | pattern6:
        # 匹配 pattern2 或 pattern3 或 pattern4 或 pattern5 或 pattern6 时执行的代码
    case pattern2 if condition:
        # 匹配 pattern2 且满足条件 condition 时执行的代码
    case pattern3 | pattern4 | pattern5 if condition:
        # 匹配 pattern3 或 pattern4 或 pattern5 且满足条件 condition 时执行的代码
    case _:
        # 默认情况

程序示例:

week = input("请输入星期几:")
match week:
    case '一':
        print("星期一")
    case '二':
        print("星期二")
    case '三':
        print("星期三")
    case '四':
        print("星期四")
    case '五':
        print("星期五")
    case '六':
        print("星期六")
    case '日':
        print("星期日")
    case _:
        print("输错了")

结果:

请输入星期几:日
星期日

程序示例:

week = input("请输入星期几:")
match week:
    case '一' | '二' | '三' | '四' | '五':
        print("工作日")
    case '六' | '日':
        print("休息日")
    case _:
        print("输错了")

结果:

请输入星期几:二
工作日

程序示例:

integer = 100
week = input("请输入星期几:")
match week:
    case '一' | '二' | '三' | '四' | '五' if integer > 10:
        print("工作日")
    case '六' | '日':
        print("休息日")
    case _:
        print("输错了")

结果:

请输入星期几:一
工作日

程序示例:

# 判断闰年
year = input('Enter a year: ')
if year.isdigit():
    year = int(year)
    if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
        print(year, 'is a leap year')
    else:
        print(year, 'is not a leap year')
else:
    print("Please enter a number")

结果:

Enter a year: 2024
2024 is a leap year

结果:

Enter a year: aaa
Please enter a number

代码简化:

year = input('Enter a year: ')
if year.isdigit():
    year = int(year)
    if (not year % 4 and year % 100) or not year % 400:
        print(year, 'is a leap year')
    else:
        print(year, 'is not a leap year')
else:
    print("Please enter a number")
posted @ 2025-10-25 22:43  YouKong  阅读(4)  评论(0)    收藏  举报