-- coding: UTF-8 --

year_month_day = input("输入日期(yyyy-mm-dd):")

判断输入格式是否正确

if not year_month_day.isdigit() or len(year_month_day) != 10 or year_month_day[4] != '-' or year_month_day[7] != '-': print("ERROR") else: year, month, day = map(int, year_month_day.split('-')) # 判断年份是否在[1900,2030]上 if not 1900 <= year <= 2030: print("ERROR") else: # 计算月份对应的天数 if month in [1, 3, 5, 7, 8, 10, 12]: p = 31 elif month == 2: if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0: p = 29 else: p = 28 else: p = 30 # 判断日数是否在[1,p]上 if not 1 <= day <= p: print("ERROR") else: # 转换1、2月份为上一年的13、14月份 if month == 1 or month == 2: month += 12 year -= 1 c = year // 100 p = year % 100 w = (day + 2 * month + 3 * (month + 1) // 5 + p + p // 4 - c // 4 + 5 * c) % 7 print(year_month_day, "是星期" + str(w))

编写程序 s6Epy输入日期格式yyyy-mm-dd输出星期。要求年份是19002030上的整数如果输入日期无效则输出ERROR。程序执行效果 l输入日期yyyy-mm-dd2022-03-15输出2022-03-15 是星期二程序执行效果 2输入日期yyyy-mm-dd2022-03-35输出ERROR操作提示 1、利用蔡勒公式可计算y年m月d日的星期数w-c4-2c+p-p4+13m+15+d

原文地址: https://www.cveoy.top/t/topic/bEMX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录