检查表的尺寸

时间:2014-12-03 15:46:17

标签: python

我试图找出如何检查包含R条目的C行的表的维度。

示例模式文件Pattern file.txt包含有效模式。

10   10    50

        red       blue        red       blue        red       blue        red       blue        red       blue
       blue        red       blue        red       blue        red       blue        red       blue        red
        red       blue        red       blue        red       blue        red       blue        red       blue
       blue        red       blue        red       blue        red       blue        red       blue        red
        red       blue        red       blue        red       blue        red       blue        red       blue
       blue        red       blue        red       blue        red       blue        red       blue        red
        red       blue        red       blue        red       blue        red       blue        red       blue
       blue        red       blue        red       blue        red       blue        red       blue        red
        red       blue        red       blue        red       blue        red       blue        red       blue
       blue        red       blue        red       blue        red       blue        red       blue        red
  • 第一行包含三个整数RCT,表示行数,列数和切片大小。
  • 文件中有R行。
  • 每行列出C种颜色,以空格分隔

2 个答案:

答案 0 :(得分:0)

因此,查找文件中有多少行很容易:

f = open('somefile.txt')
lines = f.readlines()
f.close()

print len(lines)

减去案件中的第一行

现在,如果你想找到有多少行,你可以循环通过 line并计算空格数并从总数中减去,或者在这种情况下,我认为空格数应该等于单词数。

count = 0
for x in lines[0]:
  if(x == ' '):
    count+=1
print count

另请注意:

如果你没有一个完美的文件正方形而你想要计算每一行,那么你必须这样做:

count = 0
for x in lines:
   for y in x:
     if(x == ' ')
       count+=1
   print count
   count = 0

答案 1 :(得分:0)

您可以使用第一行值作为参考来检查表格是否具有正确的尺寸。

with open('file.txt') as f:
    file = f.readlines()

for line in file:
    if line == file[0]:
        first_line = line.split()
        rows_nbr = int(first_line[0])
        columns_nbr = int(first_line[1])
        if len(file) - 2 != columns_nbr: # -2 here to skip the first two lines of the file
            print 'Incorrect column number !'
            break
    elif line == file[1]:
        continue
    else:
        current = line.split()
        if len(current) != rows_nbr:
            print 'Incorrect row number !'
            break