2013年11月15日金曜日

開発環境

初めてのコンピュータサイエンス(Jennifer CampbellPaul GriesJason MontojoGreg 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 コメント:

コメントを投稿