代码缩进为一个 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