開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc., Emacs(Text Editor)
- プログラミング言語: Python
初めてのコンピュータサイエンス(Jennifer Campbell、Paul Gries、Jason Montojo、Greg Wilson(著)長尾 高弘(翻訳))の5章(リスト)の5.13(練習問題)を解いてみる。
5.13(練習問題).
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-
alkaline_earth_metals = [4, 12, 20, 38, 56, 80]
print(alkaline_earth_metals[5])
print(alkaline_earth_metals[-1])
print(len(alkaline_earth_metals))
print(max(alkaline_earth_metals))
half_lives = [87.74, 24110.0, 6537.0, 14.4, 376000.0]
for x in half_lives:
print(x)
for x in half_lives:
print(x, end=" ")
print()
country_populations = [1295, 23, 7, 3, 47, 21]
total = 0
for x in country_populations:
total += x
print(total)
temps = [25.2, 16.8, 31.4, 23.9, 28, 22.5, 19.6]
print("temps",temps)
temps.sort()
print("temps",temps)
cool_temps = temps[0:2]
warm_temps = temps[2:]
print("cool_temps", cool_temps)
print("warm_temps", warm_temps)
temps_in_celsius = cool_temps + warm_temps
print("temp_in_celsius", temps_in_celsius)
temps_in_fahrenheit = []
for x in temps_in_celsius:
temps_in_fahrenheit.append( 9 * x / 5 + 32)
print("temps_in_fahrenheit", temps_in_fahrenheit)
alkaline_earth_metals = [[4, 9.012], [12, 24.305], [20, 40.078],[38, 87.62],
[56, 137.325],[88, 226]]
for x in alkaline_earth_metals:
print(x[0], x[1])
number_and_weight = []
for x in alkaline_earth_metals:
number_and_weight.append(x[0])
number_and_weight.append(x[1])
print(number_and_weight)
alkaline_earth_metals = []
with open('alkaline_metals.txt') as f:
for line in f:
x = line.strip().split()
alkaline_earth_metals.append([int(x[0]), float(x[1])])
print(alkaline_earth_metals)
def mystery_function(values):
"転置行列を求める関数"
result = []
for i in range(len(values[0])):
result.append([values[0][i]])
for j in range(1, len(values)):
result[-1].append(values[j][i])
return result
l0 = [[]]
l1 = [[1,2]]
l2 = [[1], [2]]
l3 = [[1,2],[3,4]]
l4 = [[1,2,3],[4,5,6]]
l5 = [[1,2],[3,4],[5,6]]
l6 = [[1,2,3],[4,5,6], [7,8,0]]
for x in [l1, l2, l3, l4, l5, l6]:
print("行列: {0}\n転置行列: {1}".format(x, mystery_function(x)))
入出力結果(Terminal)
$ ./sample.py 80 80 6 80 87.74 24110.0 6537.0 14.4 376000.0 87.74 24110.0 6537.0 14.4 376000.0 1396 temps [25.2, 16.8, 31.4, 23.9, 28, 22.5, 19.6] temps [16.8, 19.6, 22.5, 23.9, 25.2, 28, 31.4] cool_temps [16.8, 19.6] warm_temps [22.5, 23.9, 25.2, 28, 31.4] temp_in_celsius [16.8, 19.6, 22.5, 23.9, 25.2, 28, 31.4] temps_in_fahrenheit [62.24, 67.28, 72.5, 75.02, 77.36, 82.4, 88.52] 4 9.012 12 24.305 20 40.078 38 87.62 56 137.325 88 226 [4, 9.012, 12, 24.305, 20, 40.078, 38, 87.62, 56, 137.325, 88, 226] [[4, 9.012], [12, 24.305], [20, 40.078], [38, 87.62], [56, 137.327], [88, 226.0]] 行列: [[1, 2]] 転置行列: [[1], [2]] 行列: [[1], [2]] 転置行列: [[1, 2]] 行列: [[1, 2], [3, 4]] 転置行列: [[1, 3], [2, 4]] 行列: [[1, 2, 3], [4, 5, 6]] 転置行列: [[1, 4], [2, 5], [3, 6]] 行列: [[1, 2], [3, 4], [5, 6]] 転置行列: [[1, 3, 5], [2, 4, 6]] 行列: [[1, 2, 3], [4, 5, 6], [7, 8, 0]] 転置行列: [[1, 4, 7], [2, 5, 8], [3, 6, 0]] $
0 コメント:
コメントを投稿