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")
浙公网安备 33010602011771号