Python数据结构与算法刷题(2)——挖掘机技术哪家强

浏览: 3504

前言

前文传送门:

Python数据结构与算法刷题(1)——害死人不偿命的(3n+1)猜想


正文

为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。


输入格式:


输入在第1行给出不超过105的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从1开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。

输出格式:


在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。

输入样例:

6
3 65
2 80
1 100
2 70
3 40
3 0

输出样例:

2 150


上代码:


图片.png


注意点:

1. input()可以一次接受多个值,用空格隔开,使用split()即可分开,用对应个数变量接收这些值即可

2. 在c中可以用数组,在Python中我不想import库就用字典实现了,方法应该还有很多,大家可以试试探索。

光看不练,眼高手低可不好哦,动手敲代码吧~

图片.png

欢迎评论指出文中错误、代码优化和提问~~~

推荐 4
本文由 ID王大伟 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

9 个评论

大伟你的节奏回来了
最近在刷题 哈哈
输入在第1行给出不超过105的正整数N,这个条件需要在代码中实现吗?
python没有这么强的数据类型 这题目主要是给c c++等语言定制的
输入的内容是如何写入字典的
老师,Max = -1 #初始化一个值用于用于记录挖掘机类加分的最高值
这句话没明白,能帮我再解释一下吗
老师,这个题目好理解。我有个问题就是关于将输入的内容保存并格式化的问题。以此题为例,比如有6组数据,如何将这六组数据的内容保存在一个字典里,并且字典里的键和值都是int格式。有没有什么简单的代码实现?最好直接上代码~
这是我的代码
print('请输入组数:')
n=int(input())
score={} #学校得分字典
i=0
for i in range(0,n): #将输入结果保存为学校得分字典
a,b = input().split()
b=int(b)
if a in score:
score[a]+=b
else:
score[a]=b
i=i+1
#输入完毕后,学校得分也就出来了,现在开始排名(实际上是找出第一名)
max=-1,
maxid=''
for key in score:
if score[key]>max:
max=score[key]
maxid=key
print ('%s%d'%(maxid,max))


基本上和你的一样,但是却报错了
TypeError Traceback (most recent call last)
<ipython-input-18-4f11c10bccb7> in <module>()
15 maxid=''
16 for key in score:
---> 17 if score[key]>max:
18 max=score[key]
19 maxid=key

TypeError: '>' not supported between instances of 'int' and 'tuple'
这是为啥呢?我啥我的score[key]会变成了tuple格式
已解决。原来我写的“ max=-1,” 多了一个“,”就变成tuple格式了。

要回复文章请先登录注册