開発環境
- macOS Mojave - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Visual Studio Code (Text Editor)
- Python 3.7 (プログラミング言語)
Head First はじめてのプログラミング ―頭とからだで覚えるPythonプログラミング入門 (Eric Freeman(著)、嶋田 健志(監修)、木下 哲也(翻訳)、株式会社オライリー・ジャパン)を6章(テキスト、文字列、ヒューリスティック - すべてを組み合わせる)の自分で考えてみよう(258ページ)の解答を求めてみる。
コード
Python 3
sample2_test.py
#!/usr/bin/env python3
from unittest import TestCase, main
from sample2 import count_sentences, my_count_sentences
class MyTestCase(TestCase):
def setUp(self):
self.texts = ['', 'a', 'a. ', 'a. b! cd? efg; h.']
self.counts = [0, 0, 1, 5]
def tearDown(self):
pass
def test_count_sentences(self):
for text, count in zip(self.texts, self.counts):
self.assertEqual(count_sentences(text), count)
def test_count_sentences1(self):
for text, count in zip(self.texts, self.counts):
self.assertEqual(my_count_sentences(text), count)
if __name__ == '__main__':
main()
sample2.py
#!/usr/bin/env python3
def count_sentences(text):
count = 0
for char in text:
if char in '.;?!':
count += 1
return count
def my_count_sentences(text):
return len([char for char in text if char in '.;?!'])
入出力結果(Bash、cmd.exe(コマンドプロンプト)、Terminal、Jupyter(IPython))
C:\Users\...>py sample2_test.py .. ---------------------------------------------------------------------- Ran 2 tests in 0.000s OK C:\Users\...>
0 コメント:
コメントを投稿