Python 索引器:Topcoder提交中列表索引超出范围
当我在中运行代码时,它显示出一个错误:IndexError:list index超出范围。然而,该代码在Python空闲环境中工作得非常好。谁能告诉我哪里出了问题 问题信息: 定义类别: 干酪磨砂法:总面积法 参数:整数、整数、整数、整数 返回:整数方法 签名:def总面积(自身、A、B、C、S): 例子 0)1 3 2 返回:0 此块的一个尺寸是1。不管怎样 我们切割它,每一块都有一个等于1的尺寸。当S=2时,这个 这意味着生产一个好的切片是不可能的。因此,最大 良好切片的总表面积为0 导入系统 总数=0 data=sys.stdin.read().split() x、 y,z,s=int(数据[0]),int(数据[1]),int(数据[2]),int(数据[3])) 如果min(x,y,z)=s: 打印x*y*z/s elif最小值(x,y,z)s: 行=[x,y,z] 当最大(线)>=2*s时: 面积=1 最大线=最大(线) line.pop(line.index(maxline)) 对于行中的行: 面积=面积*线 总面积+=面积 行。追加(maxline-s) 面积=1 最小线=最小(线) 行.pop(行.索引(minline)) 对于行中的行: 面积=面积*线 总面积+=面积 打印总数Python 索引器:Topcoder提交中列表索引超出范围,python,list,indexing,submission,Python,List,Indexing,Submission,当我在中运行代码时,它显示出一个错误:IndexError:list index超出范围。然而,该代码在Python空闲环境中工作得非常好。谁能告诉我哪里出了问题 问题信息: 定义类别: 干酪磨砂法:总面积法 参数:整数、整数、整数、整数 返回:整数方法 签名:def总面积(自身、A、B、C、S): 例子 0)1 3 2 返回:0 此块的一个尺寸是1。不管怎样 我们切割它,每一块都有一个等于1的尺寸。当S=2时,这个 这意味着生产一个好的切片是不可能的。因此,最大 良好切片的总表面积为0 导入系
由于topcoder提供的测试输入中出现意外的EOF,您的
数据为空,因此出现索引错误。您可以尝试实现代码来处理输入之间的EOF异常。我不知道,这段代码如何在空闲状态下完美工作。split()函数将返回包含一项的列表。Topcoder可能对此问题的验证测试有一些问题。例如,输入将为“5 2”,split()函数将返回['5','5','2']。您可以在获取输入时实现异常处理
import sys
total=0
data=sys.stdin.read().split()
x,y,z,s=int(data[0]),int(data[1]),int(data[2]),int(data[3])
if min(x,y,z)==s:
print x*y*z/s
elif min(x,y,z)<s:
print 0
elif max(x,y,z)>s:
lines=[x,y,z]
while max(lines)>=2*s:
area=1
maxline=max(lines)
lines.pop(lines.index(maxline))
for line in lines:
area=area*line
total+=area
lines.append(maxline-s)
area=1
minline=min(lines)
lines.pop(lines.index(minline))
for line in lines:
area=area*line
total+=area
print total