如何修改Python日期校验递增代码,新增合法日期有效提示输出功能
日期校验代码调整方案
调整思路
原代码已经完成了非法日期判定、合法日期递增的全部核心逻辑,仅缺少合法日期的提示输出。我们只需把所有合法日期的处理逻辑收拢到统一分支下,在递增操作前新增提示输出即可,无需修改原有校验和递增的核心逻辑。
具体改动点
- 原有判定日期无效的
if代码块结束后,新增统一的合法日期处理else分支 - 在该
else分支第一行添加合法提示的打印语句 - 将原有的3段日期递增处理逻辑全部移入该
else分支内
修改后完整代码
date = input("Enter the date: ") dd, mm, yy = date.split('/') dd = int(dd) mm = int(mm) yy = int(yy) # 判定当前月份对应最大天数 if mm in (1, 3, 5, 7, 8, 10, 12): max1 = 31 elif mm in (4, 6, 9, 11): max1 = 30 elif (yy % 4 == 0 and yy % 100 != 0) or yy % 400 == 0: max1 = 29 else: max1 = 28 # 日期合法性校验 if mm < 1 or mm > 12 or dd < 1 or dd > max1: print("Date is invalid.") else: # 新增合法日期提示 print("the date is valid") # 原有日期递增逻辑 if dd == max1 and mm != 12: dd = 1 mm += 1 print("The incremented date is: ", dd, mm, yy) elif dd == 31 and mm == 12: dd = 1 mm = 1 yy += 1 print("The incremented date is: ", dd, mm, yy) else: dd += 1 print("The incremented date is: ", dd, mm, yy)
内容的提问来源于stack exchange,提问作者Amhar Fareed
相关产品推荐
相关产品推荐

