開発環境
- OS X Mavericks - Apple(OS)
- Emacs (CUI)、BBEdit - Bare Bones Software, Inc. (GUI) (Text Editor)
- Python (プログラミング言語)
初めてのコンピュータサイエンス(Jennifer Campbell、Paul Gries、Jason Montojo、Greg Wilson(著)長尾 高弘(翻訳))の6章(条件分岐)、6.5(練習問題)、5を解いてみる。
6.5(練習問題)、5.
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3
#-*- coding: utf-8
print('5.')
print('自動カメラのスイッチをオンにするのはどちらかのみがTrueの場合なので、\
排他的論理和であり、条件のどちらかのみがTrueということは、2つの条件の真偽値\
が異なればいいので、友達の言っていることは正しい。')
def xor1(light, temperature):
if (light < 0.01) or (temperature > 0.0):
if (light < 0.01) and (temperature > 0.0):
pass
else:
return 'on'
def xor2(light, temperature):
if (light < 0.01) != (temperature > 0.0):
return 'on'
for light, temperature in [(0.001, -1.0), (0.001, 1.0), (0.01, -1.0),
(0.01, 1.0)]:
print('light = {0}, temperature = {1} 自動カメラのスイッチ {2} {3}'.format(
light, temperature,
xor1(light, temperature), xor2(light, temperature)))
入出力結果(Terminal)
$ ./sample.py 5. 自動カメラのスイッチをオンにするのはどちらかのみがTrueの場合なので、排他的論理和であり、条件のどちらかのみがTrueということは、2つの条件の真偽値が異なればいいので、友達の言っていることは正しい。 light = 0.001, temperature = -1.0 自動カメラのスイッチ on on light = 0.001, temperature = 1.0 自動カメラのスイッチ None None light = 0.01, temperature = -1.0 自動カメラのスイッチ None None light = 0.01, temperature = 1.0 自動カメラのスイッチ on on $
0 コメント:
コメントを投稿