|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
千年虫问题:
“千年虫”问题,也称计算机2000年问题,或“千年危机”,是指某些计算机程序在设计时只采用两位十进制数记录年份的最后两位,
如1998年被表示为“98”、2000年表示为“00”,因此当时时间跨入2000年时,计算机计时系统会将2000年解释为1900年,造成各种
各样的系统功能紊乱,甚至发生灾难性的后果。因此从根本上说千年虫是一种程序处理日期上的bug,而非病毒。
为了解决2000年问题,世界各国投入了大量的人力,物力,据统计耗资超过6000亿美元,这是人类有史以来最昂贵的救灾行动。
下面的序列保存了10名1920-2000年出生人员的出生年份,为了避免出现千年虫问题,请编写一个小程序,把序列信息中存在千
年虫问题的数据进行提取修改,然后按年龄从高到底输出。
人员序列信息:【45,89,1998,00,75,33,1968,37,1958,90】
输出参考:【1933,1937,1945,1958,1968,1975,1989,1990,1998,2000】
怎么将上面的人员系列信息内的值遍历修改后再填入新的列表中?
下面是我写的代码,只能遍历判断修改然后一个个输出,求大神指导year_now = (45,89,1998,00,75,33,1968,37,1958,90)
for year in year_now:
if year >= 1920 :
print(year)
else:
if year == 33:
print(1933)
elif year == 37:
print(1937)
elif year == 45:
print(1945)
elif year == 75:
print(1975)
elif year == 89:
print(1989)
elif year == 90:
print(1990)
else:
print(2000)
year_now = (45,89,1998,00,75,33,1968,37,1958,90)
year = []
for each in year_now:
if each >= 1920:
year.append(each)
elif each <= 20:
year.append(2000 + each)
else:
year.append(1900 + each)
year.sort()
print(year)
|
|