2019年5月3日金曜日

開発環境

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング (Al Sweigart(著)、相川 愛三(翻訳)、オライリージャパン)の第Ⅱ部(処理の自動化)、7章(正規表現によるパターンマッチング)、7.17(演習問題)22の解答を求めてみる。

コード

Python 3

#!/usr/bin/env python3
from unittest import TestCase, main


class MyTestCase(TestCase):
    def setUp(self):
        pass

    def tearDown(self):
        pass

    def test(self):
        import re
        reg = re.compile(
            r'''
^(Alice|Bob|Carol)\s+
(eats|pets|throws)\s+
(apples|cats|baseballs)\.$''',
            re.VERBOSE | re.IGNORECASE)
        for s in ['Bob pets cats.',
                  'Carol throws baseballs.',
                  'Alice throws Apples.',
                  'BOB EATS CATS.']:
            self.assertTrue(reg.search(s))
        for s in ['RoboCop eats appples.',
                  'ALICE THROWS FOOTBALLS.',
                  'Carol eats 7 cats.']:
            self.assertFalse(reg.search(s))


if __name__ == '__main__':
    main()

入出力結果(cmd(コマンドプロンプト)、Terminal、Bash, Jupyter(IPython))

C:\Users\...>py sample22.py -v
test (__main__.MyTestCase) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

C:\Users\...>

0 コメント:

コメントを投稿