Python中使用if多条件判断实现月份数字与名称匹配的方法
Python月份数字转名称实现说明
你的尝试写法不可行的原因
你写的if month == [1,2,3,4,5,6]是用整数和列表做相等判断,二者数据类型不同,判断结果永远为False,不可能触发后续打印逻辑。同时你写的打印语法也不符合Python规范,无法直接通过数字匹配到对应月份名称。
方案1:无if的最优实现(最推荐)
因为月份是1-12的连续整数,直接用列表下标映射即可,完全不需要写12条if判断:
# 下标0位填充占位,让下标和月份数字一一对应 month_list = ["", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] # 先做输入合法性判断 if 1 <= month <= 12: print(month_list[month]) else: print("输入的月份数字不合法")
方案2:多条件if实现(符合你要的多条件写法需求)
如果需要用if语句完成,也可以用in关键词实现多条件合并判断,避免写12条独立if,适合需要批量判断的场景:
if month == 1: print("January") elif month == 2: print("February") elif month == 3: print("March") elif month == 4: print("April") elif month == 5: print("May") elif month == 6: print("June") elif month == 7: print("July") elif month == 8: print("August") elif month == 9: print("September") elif month == 10: print("October") elif month == 11: print("November") elif month == 12: print("December") else: print("输入不合法")
如果是需要按分组判断(比如按季度分类),可以直接把多个条件放进列表用in判断:
if month in [1,2,3]: print("第一季度") elif month in [4,5,6]: print("第二季度") elif month in [7,8,9]: print("第三季度") elif month in [10,11,12]: print("第四季度")
内容的提问来源于stack exchange,提问作者BuggyBuggy
相关产品推荐
相关产品推荐

