開発環境
- OS X Mavericks - Apple(OS)
- Emacs (CUI)、BBEdit - Bare Bones Software, Inc. (GUI) (Text Editor)
- Python (プログラミング言語)
初めてのコンピュータサイエンス(Jennifer Campbell、Paul Gries、Jason Montojo、Greg Wilson(著)長尾 高弘(翻訳))の12章(各種ツール)、12.7(練習問題)、12-13.を解いてみる。
12.7(練習問題)、12-13.
Noneと数値を比較しているから問題が発生する。
修正。
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3 #-*- coding: utf-8 -*- import random def find_min_max(values): if len(values) == 0: raise Exception("空っぽ") min = values[0] max = values[0] for value in values[1:]: if value > max: max = value if value < min: min = value print('最小値は{}です。'.format(min)) print('最大値は{}です。'.format(max)) values = [random.randint(0, 100) for x in range(10)] if __name__ == '__main__': print(values) find_min_max(values) try: print([]) find_min_max([]) except Exception as err: print(err)
入出力結果(Terminal)
$ ./sample.py [3, 24, 20, 81, 79, 84, 58, 47, 95, 21] Traceback (most recent call last): File "./sample.py", line 21, in <module> find_min_max(values) File "./sample.py", line 10, in find_min_max if value > max: TypeError: unorderable types: int() > NoneType() $ ./sample.py [22, 77, 4, 40, 85, 7, 51, 72, 81, 80] 最小値は4です。 最大値は85です。 [] 空っぽ $
0 コメント:
コメントを投稿