Python学习之解决“千年虫”问题

Python学习之解决“千年虫”问题
千年虫事件是指在某些使用了计算机程序的智能系统(包括计算机系统、自动控制芯片等)中,由于其中的年份只使用两位十进制数来表示,因此当系统进行(或涉及到)跨世纪的日期处理运 算时(如多个日期之间的计算或比较等),就会出现错误的结果,进而引发各种各样的系统功 能紊乱甚至崩溃。因此从根本上说千年虫是一种程序处理日期上的bug(计算机程序故障),而非病毒。如记录年份时,1998被表示为98、2000被表示为00,但跨入2000年后,计算机会把2000年解释为1900年,造成各种系统功能的紊乱。
下面的序列保存了8名1900年后出生人员的出生年份,为了避免出现千年虫问题,请编写一个小程序,把目前的序列中存在千年虫问题的数据进行修改,然后升序输出修改后的序列。
当前序列:89、98、00、76、68、37、58、90
参考输出序列:1937、1958、1968、1976、1989、1990、1998、2000

year = [89,98,00,76,68,37,58,90]        #原有年份列表
for index,value in enumerate(year):     #遍历列表年份索引与年份
    if str(value) !='0':                #判断非0年份
        year[index] = int('19'+str(value))
    else:
        year[index] = int('200'+str(value)) #判断2000年
year.sort()                                  #升序排列
print(year)                                 #打印修改后的年份

结果为:[1937, 1958, 1968, 1976, 1989, 1990, 1998, 2000]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值