2021-05-23

近期在做关于字典与元组的习题。分享两个有关的。

"千年虫"问题,也称计算机2000年问题或"千年危机"。是指某些计
算机程序在设计时只采用两位十进制数记录年份的最后两位,如1998年被表示
为'98',2000年被表示为"00",因此当时间跨入2000年时,计算机计
时系统会将2000年解释为1900年,造成各种各样系统紊乱,甚至发生灾
难性的后果。
    下面的序列保存了8名1900年后出生人员的出生年份,为避免出现
千年虫问题,请编写一个小程序,把目前的序列中存在千年虫问题的数据
进行修改,然后升序输出修改后的序列。
year = [89,98,00,75,68,37,58,90]  #创建一个含有8名1900年后出生人员的出生年份
for i in range(len(year)):
    if  year[i] == 00:             #索引列表的内容,判断是否有2000年生人
        year[i] = int(2000)        #将2000赋值给00
    else:
        year[i] = int(1900+year[i])#将列表中的出生年份完全表达出来
print(year)
year.sort(reverse=False)           #进行升序排列
print(year)
有个qq运动周报,编写一个程序实现如下功能:
(1)创建本周运动步数列表,如:[4235,10111,8447,9566,9788,8951,9808]
(2)创建上周运动步数列表,如:[4235,5612,8447,11250,9211,9985,3783]
(3)将上周和本周的运动步数进行同步汇总,如上周一和本周一的数据相加,上周二和 本周二
的数据相加,以此类推,先输出汇总结果,然后升序,降序输出汇总结果。
(4)建立一个星期列表,如:["周日","周一","周二","周三","周四","周五","周六"]。
(5)查找本周运动步数最高值和最低至,添加到对应周列表,如:
["周日",4235,"周一","周二","周三","周四","周五","周六",9808]。
 (6)步数超过8000步即为达标,分别输出本周,上周高于8000步的步数值和日期,最后输出
上周和本周总步数
'''# 第1题答案
thisweek = [4235, 1111, 8447, 9566, 19788, 8951, 9808]
print("(1)本周运动步数列表:", thisweek)
# 第2题答案
lastweek = [4235, 5612, 8447, 11250, 9211, 9985, 3783]
print("(2)上周运动步数列表:", lastweek)

# 第3题答案
"""sumweek = []
for a,b in zip(thisweek, lastweek):
    sum = a + b
    sumweek.append(sum)
print("(3)汇总结果", sumweek)
sumweek.sort()
print("     升序", sumweek)
sumweek.sort(reverse=True)
print("     降序", sumweek)"""
sum = 0
sumweek=[]
for i in range(7):
    sum=thisweek[i]+lastweek[i]
    sumweek.append(sum)
print("(3)汇总结果", sumweek)
sumweek.sort()
print("     升序", sumweek)
sumweek.sort(reverse=True)
print("     降序", sumweek)


# 第4题答案
day = ['周日','周一','周二','周三','周四','周五','周六']
print("(4)星期列表:", day)


x = thisweek.index(max(thisweek))  #19788  4
y = thisweek.index(min(thisweek))  #1111   1
day.insert(x + 1, max(thisweek))    #5
day.insert(y + 1, min(thisweek))    #2
print("(5)", day)


# 第6题答案
weekday = ['周日','周一','周二','周三','周四','周五','周六']
thislist1 = []
thislist2 = []
for item in thisweek:
    if item > 8000:
        thislist1.append(item)
        i = thisweek.index(item)
        thislist2.append(weekday[i])
print("(6)本周高于8000步的步数值:", thislist1)
print("     本周高于8000步的日期:", thislist2)




lastlist1 = []
lastlist2 = []
for item in lastweek:
    if item > 8000:
        lastlist1.append(item)
        i = lastweek.index(item)
        lastlist2.append(weekday[i])
print("     上周高于8000步的步数值:", lastlist1)
print("     上周高于8000步的日期:", lastlist2)'''

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值