Python:在文本文件中查找最大x值和最大y值

Python:在文本文件中查找最大x值和最大y值,python,max,polygon,point,min,Python,Max,Polygon,Point,Min,我对在文本文件中查找最大x或y值有疑问。这对于多边形中的点算法是必需的。 多边形与点一起输入文本文件,即输入或输出多边形以及多边形的行数 例如: 5.0 4.0 6 1.0 1.0 4.0 0.0 6.0 3.0 7.0 6.0 3.0 7.0 0.0 4.0 1.0 1.0 点是[5.0 4.0],多边形有6行,接下来是多边形的写入点: [1.0 1.0][4.0 0.0][6.0 3.0][7.0 6.0][3.0 7.0][0.0 4.0][1.0 1.0]. 第一个是x坐标,第二

我对在文本文件中查找最大x或y值有疑问。这对于多边形中的点算法是必需的。
多边形与点一起输入文本文件,即输入或输出多边形以及多边形的行数

例如:

5.0 4.0 6 1.0 1.0 4.0 0.0 6.0 3.0 7.0 6.0 3.0 7.0 0.0 4.0 1.0 1.0  
点是
[5.0 4.0]
,多边形有
6行,接下来是多边形的写入点:

[1.0 1.0][4.0 0.0][6.0 3.0][7.0 6.0][3.0 7.0][0.0 4.0][1.0 1.0].
第一个是x坐标,第二个是y坐标

我有一个测试两条线位置的程序。现在我必须把这个过程和这个算法结合起来

我所拥有的是:打开一行txt,然后将其拆分并将值保存到变量中

pointinp = open ("pointinp.txt", "r")  
for line in pointinp.readlines():  
    riadok = line.split()  
    j=3  
    for i in range (0,riadok[2]):  
        x1=float(riadok[0])  
        y1=float(riadok[1])  
        k1=float(riadok[i+j])  
        l1=float(riadok[i+(j+1)])  
        k2=float(riadok[i+(j+2)])  
        l2=float(riadok[i+(j+3)])  
        j=j+1  
点坐标在x1和y1中,其他点的坐标在k1、l1、k2、l2中。现在我必须从文本文件中找到最大x和y坐标,以将其保存到x2,y2。
然后我将有两条线[x1,y1][x2,y2]和[k1,l1][k2,l2],然后我将测试这些线的位置,这在多边形中的点算法中是必要的,其中将计算交点。(创建的包含点的线和多边形的每条线之间的交点)

查找行中的最大x和y非常简单,您只需要能够将它们分开,并对它们应用max()函数即可。幸运的是,python列表索引支持步长,因此您可以轻松地提取其他所有值:

xvals=riadok[3::2]
yvals=riadok[4::2]
xmax=max(xvals)
ymax=max(yvals)
在文件中查找最大值有点困难:对于每一行,您可以将本地最大值与迄今为止找到的最大值进行比较,如果最大值更大,则将后者替换为前者:

xtruemax=max(xtruemax,xmax)
ytruemax=max(ytruemax,ymax)

但你会发现,随着你进一步浏览你的文件,这些数字会慢慢增长。如果您希望从第一行获得真正最大的x和y值,那么您必须分两次处理文件,一次是查找最大的x和y值,另一次是应用您的算法

如果你喜欢强大的代码,你会喜欢这样:) 如果你只有整数,你可以用int代替float

file.txt 123900000.029384 10000 68900000.029383

max=max(映射(float,(open('file.txt','r').readline()).split())


我不知道我是否理解得足够。确切地说,我理解它的原理,但不知道怎么做——在文件中找到局部最大值并进行比较。代码是什么样子的?它将与所有值进行比较(因此x将与y进行比较),或者使用与之前相同的示例:`for line in pointinp.readlines():riadok=line.split()xvals=riadok[3::2]yvals=riadok[4::2]xmax=max(xvals)ymax=max(yvals)xtruemax=max(xtruemax,xmax)ytruemax=max=max(ytruemax,ymax)pointinp.seek(0)对于pointinp.readlines()中的行:“是将xmax与x和y进行比较,还是仅将y进行比较,取决于应用程序的性质。