df = pd.DataFrame.from_dict(res)
writer = pd.ExcelWriter('output.xlsx')
df.to_excel(writer, 'Sheet1', index_label=cl)
writer.save()
错误消息
def kad(l):
max_c=max_g=l[0]
for i in range(0,len(l)):
max_c=max(l[i],l[i]+max_c)
if(max_c>max_g):
max_g=max_c
print(max_c)
return max_g
t=int(input("test case")) ## TEST CASES
for k in range (0,t):
n=int(input(" num")) # TOTAL NUMBERS IN EACH TEST CASE
l=[float(int(input())) for i in range(0,n)]
if(len(l)>0):
kad(l)
print(l)
即使代码在本地编辑器(Jupyter笔记本)中工作正常,但在在线编辑器中显示错误。
答案 0 :(得分:0)
不知道你的函数试图做什么 - 对于空列表它会给出一个错误(你要防范),只有正输入它是一种对所有数字进行求和的复杂方式,将第一个值加两次。
对于某些hackerrank' isc网站来说,它看起来像是一个错误的解决方案。
您应该像这样修改输入:
for _ in range(int(input("test case"))): ## TEST CASES
_ = input() # TOTAL NUMBERS IN EACH TEST CASE
# the number of numbers does not matter - you get it as len(l) if needed
l = list(map(float,input().strip().split())) # split the input and parse it to floats
# ^^^ change to int if you only handle int's - your error suggest so
if(len(l)>0):
kad(l)