単位数 その2
id:mzp:20060407で
# selvaggio 『mzp、プリントよく読むと分かるけど、単位数を数えるんであって授業数じゃないと思うよ、俺それで計算したら60%弱優だった。』
と言われたので計算しなおしてみる。
ついでに、tanni.rbは恥ずかしいので、英単語に変更してっと。
$ ruby credit.rb data.html 優 --- 47.0 良 --- 36.5 可 --- 7.5 不可 --- 0 欠席 --- 2.0 優/全体 = 47.0/93.0 = 0.505376344086022
ぎりぎりって感じだ。
require 'kconv' Credit = Struct.new('Credit',:credit,:score) ARGV.length != 0 or abort("usage:#$0: tanni.html") #hash = Hash.new(0) credits = [] open(ARGV[0]){|io| credit = Credit.new io.each{|line| if line =~ %r!<TD?s+BGCOLOR="white"?s+ALIGN="RIGHT">?s+(?d?.?d+)</TD>! credit.credit = $1.to_f elsif line =~ %r!<TD?s+BGCOLOR="white"?s+ALIGN="CENTER">(.+)</TD>! $1.include?(' ') and next credit.score = $1.toutf8 credits.push credit credit = Credit.new end } } hash = Hash.new(0) credits.each{|credit| hash[credit.score] += credit.credit } total = 0 good = 0 %w(優 良 可 不可 欠席).each{|key| value = hash[key] puts "#key: --- #value:" total += value if key == '優' good += value end } puts "?n優/全体 = #good:/#total: = #good.to_f / total:"