从Perl到Python的翻译,简介

从Perl到Python的翻译,简介,python,perl,translation,range,min,Python,Perl,Translation,Range,Min,我真的需要帮助。我试着将这个Perl翻译成Python,但它似乎没有达到我想要的效果 谢谢 Perl: @X_max=&MaxValue(@xCoords); $maxX=int(10*$X_max[0]/5); @X_min=&MinValue(@xCoords); $minX=int(10*$X_min[0]/5); $rangeX=&Range($minX,$maxX); 打印网格“X:\t$maxX\t$minX\t\t$rangeX\n”; Python(到目前为止): \u max

我真的需要帮助。我试着将这个Perl翻译成Python,但它似乎没有达到我想要的效果

谢谢

Perl:

@X_max=&MaxValue(@xCoords);
$maxX=int(10*$X_max[0]/5);
@X_min=&MinValue(@xCoords);
$minX=int(10*$X_min[0]/5);
$rangeX=&Range($minX,$maxX);
打印网格“X:\t$maxX\t$minX\t\t$rangeX\n”;
Python(到目前为止):

\u max=max(xCoords)
最大(X)=整数(10*max((X)0/5))
X_min=min(xcoords)
最小(X)=整数(10*min((X)0/5))
范围(X)=范围(最小值(X)、最大值(X))
打印('X:')('%4s')%min、%15s'%max、%25s'%range

我的Perl很烂,我不知道Range()做什么,但我试过了,我写了以下内容:

X_max = []
X_min = []
for i in xCoords:
    X_max.append(i.max)
    X_min.append(i.min)
maxX = 10 * X_max[0] / 5
minX = 10 * X_min[0] / 5
rangeX = range(minX, maxX)
out = "X:\t{0}\t{1}\t{2}\t{3}".format(minX, maxX, rangeX)
#now you can do print out -OR- open('./file', 'w').write(out)

Perl看起来不像是Python的
min
max
range
函数。因为
MaxValue
返回一个值列表,下一步将忽略该值,因为代码只是获取列表中的第一项。所以可能是这样的:

x_max  = max( xcoords );
maxx   = int( 10 * x_max / 5 );
x_min  = min( xcoords );
minx   = int( 10 * x_min / 5 );
rangex = range( minx, maxx );
grid.write(  "X:\t{0}\t{1}\t{2}\t{3}".format(minX, maxX, rangeX));
甚至:

rangex = range( 2 * min( xcoords ), 2 * max( xcoords ));
然而,这个范围似乎表明它只是一个简单的变量,可能只是
maxx-minx+1
。因此,我认为Python
range
不起作用


至少可以说,这是一个过于复杂的代码:
10*x/52*x

你能发布你已经尝试过的吗?当然可以,_max=max(xCoords)max(x)=int(10*max((x)0/5))x_min=min(xCoords)min(x)=int(10*min((x)0/5))range(x)=range(min(x),max(x))print('x:')('%4s')%min',%15s'%max',%25s'%range这是蹩脚的版本,现在,我正在努力改进这个范围,它应该计算集合中的数字量
range()
是非标准的Perl。每个函数之前的
&
是Perl 4遗留问题。