授業の単位

総単位数のうち、5割が優だと院の入試が楽になるらしいので、調べてみる。

取得単位とその成績は、Webページから取得できるので、それをRubyに処理させてみる。

$ ruby tanni.rb tanni.html
優 --- 22
良 --- 18
可 --- 4
不可 --- 0
欠席 --- 1

優/全体 = 22/45 = 0.488888888888889

しまった。つまらない授業でもちゃんと出とくんだった。欠席が痛い。


ちなみにプログラム本体。文字コードに依存してるので、UTF8で保存して使ってね。あとマックだからバックスラッシュが?に化けてる。

require 'kconv'
ARGV.length != 0 or abort("usage:#$0: tanni.html")

hash = Hash.new(0)
open(ARGV[0]){|io|
  io.each{|line|
    if line =~ /<TD  BGCOLOR="white" ALIGN="CENTER">(.+)<?/TD>/
      # '2004 前' or '優'                                                                                                       
      $1.include?(' ') and next

      hash[$1.toutf8] += 1
    end
  }
}

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:"

#この子を改造して、修得単位数を出力できるようにしたら、便利かしらん