元ネタ
「第3章:変数と型」の九九のプログラム
kuku.py
#!/usr/bin/env python # *-# -*- coding: utf-8 -*- import random class Kuku: MAX_QUESTION = 10 def main(self): goodAnswers = 0 print "これから九九の問題を%d出題します。" % MAX_QUESTION for i in range(0, MAX_QUESTION + 1): ok = self.showQuestion(i + 1) if ok: goodAnswers += 1 rate = goodAnswers * 100.0 / MAX_QUESTION print print "問題は%d問ありました。" % MAX_QUESTION print "正しく答えられたのは%d問で、" % goodAnswers print "間違えてしまったのは%d問です。" % (MAX_QUESTION - goodAnswers) print "正解率は%d%です。" % rate print print "おつかれさま。" def showQuestion(self,questno): x = random.randint(1, 10) y = random.randint(1, 10) try: print " [第%d門]%d X %d = ?" % (questno, x ,y) line = raw_input() result = int(line) if x * y == result: print "はい、正しいです。" return True else: print "残念、まちがいです。" return False except: print "入力が正しくありません。" return False if __name__ == '__main__': k = Kuku() k.main()
いちおうクラス使ってみた