作业帮 > 综合 > 作业

求助一个程序(perl程序)

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/01 02:28:19
求助一个程序(perl程序)
I003 38 ACTTA 42 48
I001 21 GGAAG 25 50
I002 35 AATATTAAAG 44 48
假如中间大写字母的长度为L1,最后一个数字为L2,总数为m,求F=(L1/L2)/m;
如第一行 L1=5,L2=48,m=3;第二行 L1=5,L2=50,m=3;第三行 L1=10,L2=48,m=3.
结果为:
0.0347
0.0333
0.0694
你没说m怎么得来的,全部都是3吗?
my $s,$l1,$l2,$m;
open(FD,'1.txt');
while($s=){
$s =~ s/^\s+|\s+$//g;
(undef,undef,$l1,undef,$l2)=split(/\s+/,$s);
$l1=length($l1);
$l2+=0;
$m=3;
printf("%.4f\n",$l1/$l2/$m);
}
close(FD);
把原来的数据存在文件1.txt里面
再问: m表示总的行数。。谢谢你
再问: 谢谢你,m表示总行数。