Python之旅Week 1 Day 3

今日小计
比赛回来啦!!!终于回来了…这次比赛感慨万分纳,真的是,原来的我并不主张配合,但是现在我的观点有所改变,合作共赢,互利共赢,信息共享,这样能够利益最大化,而且有一点就是必须所有的信息或者是经验都需要传承,这一点,是毋庸置疑的,所以呢,接下来自己的电子工作室选人的时候需要好好的找一下。
再说会比赛,如果遇到一个情商智商双高的人么就更加完美了,不说了…还需要解释一下,为什么这五天没有更博,怨我其实是有时间的,哪怕是一点点的时间也是有的,距离上次更新都过去7天了吧,失败,但是,这次必须要要坚持更新,而且,每次保存…

最后说一点,这次比赛的成绩虽然不是很好,但是,遇到了一个喜欢的云南姑娘,感觉很好…后面暂时不能想了…学习Studying…进入正题.

本周的主要内容是:数据结构与算法相关问题与解决技巧

Python必刷题之四:

  1. 如何让字典保持有序

方法一:
例题:在某个系统中,记录每位选手的成绩,这次无线电比赛我觉得可以用哦,但是这个成绩需要按照顺序记录,以达到赛后查询,也就是说比赛结束后,按照排名的顺序依次打印选手的成绩,怎样实现?
解决过程:

d={}
d['Jim']=(1,35)
d['Bob']=(2,36)
d['Dill']=(3,40)
for i in d:
    print(i)
 输出结果:
 Jim
Bob
Dill

在Python2中这个方法并不适用,当输出的时候会乱序,但是Python3之后可能这个进行了优化,先占位的输出靠前,但是,在Python2中海油另一种方法。

方法二:
使用collections.OrderedDict内置方法

from collections import OrderedDict
d=OrderedDict()
d['Jim']=(1,35)
d['Bob']=(2,36)
d['Dill']=(3,40)
for i in d:       
   print(i)
 输出结果:
Jim
Bob
Dill

这个方法更加的优化了,这个程序的可读性,使得程序更加的可靠,因为在数据量更大的时候,也会是有序的。

编程模拟竞赛系统:

from time import time
from random import randint
from collections import OrderedDict
Player=list('ABCDEFG')
start=time()
Score=OrderedDict()
for i in range(8):
    input()
    p=Player.pop(randint(0,8-i))
    end=time()
    print(i+1,p,start-end)
    Score[p]=(i+1,start-end)
for i in range(8):
    print(Score)
输出结果:
1 B -0.23079514503479004
2 D -0.422995567321777343 
G -0.60291433334350594 
E -0.7731778621673584
这个输出解果是有错误的,所以需要我们Debug一下

睡觉前自己研究一下,这个问题…明天解决,希望自己挖的坑不会很多…
每日小结
每次说好的坚持希望自己言出必行,行出必果,这样才能追上甚至赶上那些理工大的学生,才能给自己爱的人想要的生活,希望最近能把自己的电子小队组建一下,好好整理一下自己,让自己更加有意义,让自己的生活更加的充实…
感谢遇见,一切都是最好的安排

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值