開発環境
- 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 コメント:
コメントを投稿