#!/usr/bin/ruby
# coding: utf-8
qna = [
"'1.전혀 아니다, 2.별로 아니다, 3.중간이다, 4.약간 그렇다, 5.매우 그렇다' 중\n" +
"1에서 5까지의 숫자로 답하시오.",
{:q => "1. 모르는 사람에게 먼저 말을 건다"},
{:q => "2. 다른 사람이 편안하고 행복한지 확인한다"},
{:q => "3. 그림, 글, 음악을 창작한다"},
{:q => "4. 모든 일을 사전에 준비한다"},
{:q => "5. 울적하거나 우울함을 느낀다"},
{:q => "6. 회식, 파티, 사교모임을 계획한다"},
{:q => "7. 사람들을 모욕한다"},
{:q => "8. 철학적이거나 영적인 문제들을 생각한다"},
{:q => "9. 일이나 물건을 정리하지 않고 어지럽게 그냥 둔다"},
{:q => "10. 스트레스나 걱정을 느낀다"},
{:q => "11. 어려운 단어를 사용한다"},
{:q => "12. 타인의 감정에 공감한다"}
]
puts desc = qna[0]
(1..12).each do |i|
begin
print qna[i][:q] + "? "
ans = gets.to_i
case ans
when 1..5 then qna[i][:a] = ans
else raise desc
end
rescue => e
puts e.message
retry
end
end
puts "\n===== 결과 ====="
printf "외향성: %2d (%3d%%)\n", sum = qna[1][:a] + qna[6][:a], sum * 10
printf "신경성: %2d (%3d%%)\n", sum = qna[5][:a] + qna[10][:a], sum * 10
printf "성실성: %2d (%3d%%)\n", sum = qna[4][:a] + 6-qna[9][:a], sum * 10
printf("친화성: %2d (%3d%%)\n", sum = qna[2][:a] + 6-qna[7][:a] + qna[12][:a],
(sum/15.0*100).round)
printf("개방성: %2d (%3d%%)\n", sum = qna[3][:a] + 6-qna[8][:a] + qna[11][:a],
(sum/15.0*100).round)
해보니까..
개방성: 10 ( 67%)
나오네요 ㅋㅋㅋ
댓글 없음:
댓글 쓰기