Re: [問題] 問題請教

看板Perl作者 (樂而不淫哀而不傷)時間16年前 (2008/01/16 15:31), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
use Cwd; $dir=cwd; open inf, "<$dir/RT2.txt"; open out, ">$dir/RT2_out.txt"; %h = ( W=> 11.0, F=> 10.5, L=> 9.6, I=> 8.4, M=> 5.8, V=> 5.0, Y=> 4.0, A=> 0.8, T=> 0.4, P=> 0.2, E=> 0.0, D=> -0.5, C=> -0.8, S=>-0.8, Q=> -0.9, G=>-0.9, N=>-1.2, R=>-1.3, H=>-1.3, K=>-1.9 ); while(<inf>){ chomp; /\[\d+\](.*)\[\d+\]/; $_=$1; #case1:如果你是要[134]WXYZ[123]中的文字 s/\W+|\d+/; #case2:如果你是要整行的文字部分 $sum+=$h{$_} for split//; print out "$_ $sum\n"; $sum=0; } close inf; close out; ※ 引述《muchmoa (...)》之銘言: : 這次跟上次的很類似, : 這次可以正確的抓出$seq,但是算出來的值卻不對, : 甚至還出現8.199999這種類似除不盡的值, : 是在第一次split時出了問題嗎? : 麻煩大家在幫我看一下吧,謝謝 : RT2連結http://www.badongo.com/file/7330381 : use Cwd; : $dir=cwd; : open inf, "<$dir/RT2.txt"; : open out, ">$dir/RT2_out.txt"; : %h = ( W=> 11.0, F=> 10.5, L=> 9.6, I=> 8.4, M=> 5.8, : V=> 5.0, Y=> 4.0, A=> 0.8, T=> 0.4, P=> 0.2, : E=> 0.0, D=> -0.5, C=> -0.8, S=>-0.8, Q=> -0.9, : G=>-0.9, N=>-1.2, R=>-1.3, H=>-1.3, K=>-1.9 ); : while(<inf>){ : chomp; : @A=($a, $b, $seq)=split/\]|\[/; : foreach $seq(@A){ : $sum+=$h{$_} for split//, $seq; : } : print out "$seq $sum\n"; : $sum=0; : } : close inf; : close out; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.16.210
文章代碼(AID): #17ZRBPuK (Perl)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
1
20
文章代碼(AID): #17ZRBPuK (Perl)