Practical Programming
An Introduction to Computer Science
Using Python 3
(Pragmatic Programmers)
(Pragmatic Bookshelf)
Paul Gries (著) Jennifer Campbell (著)
Jason Montojo (著) Lynn Beighley (編集)
開発環境
- OS X Yosemite - Apple (OS)
- Emacs (CUI)、BBEdit - Bare Bones Software, Inc. (GUI) (Text Editor)
- Python 3.4 (プログラミング言語)
Practical Programming: An Introduction to Computer Science Using Python 3 (Pragmatic Programmers) (Paul Gries (著)、Jennifer Campbell (著)、Jason Montojo (著)、Lynn Beighley (編集)、Pragmatic Bookshelf)のChapter 15(Testing and Debugging)、15.7(Exercises) 5.を解いてみる。
15.7(Exercises) 5.
コード(BBEdit)
sample5.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
def find_min_max(values):
""" (list) -> NoneType
Print the minimum and maximum value from values.
>>> find_min_max([])
The minimum value is None
The maximum value is None
>>> find_min_max([2])
The minimum value is 2
The maximum value is 2
>>> find_min_max([5, 10])
The minimum value is 5
The maximum value is 10
>>> find_min_max([10, 5])
The minimum value is 5
The maximum value is 10
>>> find_min_max([1, 5, 2, 4, 3, 5, 1, 4, 2, 3])
The minimum value is 1
The maximum value is 5
"""
min = None
max = None
if values != []:
min = values[0]
max = values[0]
for value in values[1:]:
if value > max:
max = value
if value < min:
min = value
print('The minimum value is {0}'.format(min))
print('The maximum value is {0}'.format(max))
if __name__ == '__main__':
import doctest
doctest.testmod()
入出力結果(Terminal, IPython)
$ ./sample5.py -v Trying: find_min_max([]) Expecting: The minimum value is None The maximum value is None ok Trying: find_min_max([2]) Expecting: The minimum value is 2 The maximum value is 2 ok Trying: find_min_max([5, 10]) Expecting: The minimum value is 5 The maximum value is 10 ok Trying: find_min_max([10, 5]) Expecting: The minimum value is 5 The maximum value is 10 ok Trying: find_min_max([1, 5, 2, 4, 3, 5, 1, 4, 2, 3]) Expecting: The minimum value is 1 The maximum value is 5 ok 1 items had no tests: __main__ 1 items passed all tests: 5 tests in __main__.find_min_max 5 tests in 2 items. 5 passed and 0 failed. Test passed. $
0 コメント:
コメントを投稿