開発環境
- OS X Mavericks - Apple(OS)
- Emacs (CUI)、BBEdit - Bare Bones Software, Inc. (GUI) (Text Editor)
- Python (プログラミング言語)
初めてのコンピュータサイエンス(Jennifer Campbell、Paul Gries、Jason Montojo、Greg Wilson(著)長尾 高弘(翻訳))の7章(反復)、7.7(練習問題)、7、8、9、10.を解いてみる。
7.7(練習問題)、7、8、9、10.
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3
#-*- coding: utf-8
width = 7
print('7.')
for n in range(1, 8):
print('{0}'.format(('T' * n).ljust(width)))
print('8.')
for n in range(1, 8):
print('{0}'.format(('T' * n).rjust(width)))
print('9.')
n = 1
while n <= 7:
print('{0}'.format(('T' * n).ljust(width)))
n += 1
n = 1
while n <= 7:
print('{0}'.format(('T' * n).rjust(width)))
n += 1
print('8.')
print('a.')
import random
rat_1_weight = random.randint(1, 10)
rat_1_rate = 4 / 100
week = 0
new_weight = rat_1_weight
while new_weight <= rat_1_weight * 125 / 100:
new_weight = new_weight * (1 + rat_1_rate)
week += 1
print('元の体重: {0}, {1}週間後の体重: {2}'.format(
rat_1_weight, week, new_weight))
print('b.')
rat_1_weight = 10
rat_2_weight = 10
rat_2_rate = 4 / 100
rat_1_rate = rat_2_rate + 3 / 100
week = 0
while rat_1_weight <= rat_2_weight * (110 / 100):
rat_1_weight *= (1 + rat_1_rate)
rat_2_weight *= (1 + rat_2_rate)
week += 1
print('week: {0}, rat_1_weight: {1:g}, rat_2_weight: {2:g}'.format(
week, rat_1_weight, rat_2_weight))
入出力結果(Terminal)
$ ./sample.py
7.
T
TT
TTT
TTTT
TTTTT
TTTTTT
TTTTTTT
8.
T
TT
TTT
TTTT
TTTTT
TTTTTT
TTTTTTT
9.
T
TT
TTT
TTTT
TTTTT
TTTTTT
TTTTTTT
T
TT
TTT
TTTT
TTTTT
TTTTTT
TTTTTTT
8.
a.
元の体重: 9, 6週間後の体重: 11.387871166464
b.
week: 4, rat_1_weight: 13.108, rat_2_weight: 11.6986
$
0 コメント:
コメントを投稿