的问题是this: 我试图解决这个问题,我想我确实做了,但是当我寄出了评价它说运行时错误退出,错误状态1
We have tested your solution, and while doing so we unfortunately
discovered the following error:
Run Time Error
Exited with error status 1
这里是我的代码:
import re
import sys
def fun():
for ind in ratio:
max_num = ratio_list[0]
if ratio[ind] == max_num:
print ind
ratio_list.remove(ratio_list[0])
hits = []
song = []
n,m = raw_input().split(' ',1)
for i in range(0,int(n)):
h,n = raw_input().split(" ",1)
is_number = isinstance(int(h), int)
is_string = len(n)<=30 and bool(re.match('[a-z_0-9]+$', n))
if not(is_number and is_string):
sys.exit("Error");
hits.append(int(h))
song.append(n)
ratio = {}
ratio_list = []
f_of_i = hits[0]
counter = 1
index = 0
for hit in hits:
ratio_list.append(hit*counter)
ratio[song[index]] = hit*counter
index = index +1
counter = counter +1
ratio_list.sort()
ratio_list.reverse()
for j in range(0,int(m)):
fun()
我在做什么错?我很好奇为什么这个解决方案不能令我接受。
我不认为自动化解决方案测试会提供'raw_input()'输入。他们更倾向于给程序一个输入文件。你的程序应该解析它,然后打印输出。 – 2013-03-22 11:21:50
我看到的一件事是,您不会将'fun()'函数的'ratio'作为参数。这不是一本全球性的字典。当然,这可能不会解决您的运行时错误。 – 2013-03-22 11:22:00
@Allendar它没有错误。有用。 – Leonidus 2013-03-22 11:22:41