求平均值的问题
现在有m行n列的数值文件,如何每三行求一个平均值,格式文件例子如下:21.00020.00036.60037.7000.660 0.890 0.06020.00021.00037.40038.3000.680 0.900 0.090
20.00021.00038.40038.4000.690 0.930 0.090
19.00021.00039.90045.3000.540 0.740 0.040
19.00022.00041.70045.2000.530 0.740 0.030
19.00023.00039.50045.1000.510 0.730 0.040
即求1、2、3行的平均值,4、5、6行的平均值,以此列类推
http://bbs.chinaunix.net/thread-4289910-1-1.html
http://bbs.chinaunix.net/thread-4289642-1-1.html #!/usr/bin/perl
use warnings;
use strict;
while (
my $line1 = <DATA> ) {
my $line2 = <DATA> || '';
my $line3 = <DATA> || '';
my $count = 0;
my $sum = 0;
for my $line ( $line1, $line2, $line3 ) {
my @value = split /\s+/, $line;
$count += @value;
$sum += $_ for @value;
}
printf "%.3f\n", $sum / $count;
}
__DATA__
21.00020.00036.60037.7000.660 0.890 0.060
20.00021.00037.40038.3000.680 0.900 0.090
20.00021.00038.40038.4000.690 0.930 0.090
19.00021.00039.90045.3000.540 0.740 0.040
19.00022.00041.70045.2000.530 0.740 0.030
19.00023.00039.50045.1000.510 0.730 0.040
19.00023.00039.50045.1000.510 0.730 0.040
perl这里感觉还有点人气,python哪里根本没人
页:
[1]