问题遇到的现象和发生背景
在做题目的时候把自己的代码和别人ac的代码比较,发现别人在最后输出的前面加了一句ans=list(dict.fromkeys(ans))
这一句到底有什么作用呀?
问题相关代码,请勿粘贴截图
x,y,z=map(int,input().split('/'))
ans=[]
mon=[0,31,28,31,30,31,30,31,31,30,31,30,31]
def run(x):
if x%4==0 and x%100:return True
if x%100==0 and x%400==0:return True
return False
def check(x,y,z):
if x<60:xx=2000+x
else:xx=1900+x
if run(xx):
mon[2]+=1
if z<=mon[y]:ans.append((xx,y,z))
mon[2]-=1
else:
if z<=mon[y]:ans.append((xx,y,z))
#nyr
if 0<y<=12 and 0<z<=31:check(x,y,z)
#yrn
if 0<x<=12 and 0<y<=31:check(z,x,y)
#ryn
if 0<y<=12 and 0<x<=31:check(z,y,x)
ans.sort()
ans=list(dict.fromkeys(ans)) //就是这里,这一句有什么作用??
for x in ans:
print("{:04}-{:02}-{:02}".format(x[0],x[1],x[2]))
print(ans)