初级
日期问题
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
def solve(s):
s = str(s).strip()
import datetime
parts = s.split('/')
if len(parts) == 3:
a, b, c = parts
# 可能是 YY/MM/DD 或 MM/DD/YY 或 DD/MM/YY
a, b, c = int(a), int(b), int(c)
results = set()
# YY/MM/DD
for y in [1900+a, 2000+a]:
try:
d = datetime.date(y, b, c)
if 1960 <= y <= 2059:
results.add(d.strftime('%Y-%m-%d'))
except: pass
# MM/DD/YY
for y in [1900+c, 2000+c]:
try:
d = datetime.date(y, a, b)
if 1960 <= y <= 2059:
results.add(d.strftime('%Y-%m-%d'))
except: pass
# DD/MM/YY
for y in [1900+c, 2000+c]:
try:
d = datetime.date(y, b, a)
if 1960 <= y <= 2059:
results.add(d.strftime('%Y-%m-%d'))
except: pass
for r in sorted(results):
print(r)
示例
输入
solve('01/02/03')
期望输出
2001-02-03 2003-01-02 2003-02-01
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199