2012年5月11日金曜日

初めてのコンピュータサイエンス第3章解答

第3章の解答を上げます。以下ネタバレなので、読みたくない方は立ち去りましょう。問題文は載せませんので悪しからず。必要なら買いましょう。

1

>>> 'Comp' 'Sci' # +がなくても文字列は結合される
'CompSci'
>>> 'Computer' + 'Science' # +を明示した方が読みやすい...
'ComputerScience'
>>> 'H20' * 3
'H20H20H20'
>>> 'C02' * 0 # 0回の繰り返しは空文字
''

2

>>> "They'll hibernate during the winter"
"They'll hibernate during the winter"
>>> '"Absolutely not," he said.'
'"Absolutely not," he said.'
>>> '"He said, \'Absolutely, not\'" recalled Mel.'
'"He said, \'Absolutely, not\'" recalled Mel.'
>>> 'hydrogen sulfide'
'hydrogen sulfide'
>>> 'left\right'
'left\right'

3

'A\nB\nC'

4

>>> len('')
0

5

>>> x = 3
>>> y = 12.5
>>> print 'The rabbit is %d' % x
The rabbit is 3
>>> print 'The rabbit is %d years old' % x
The rabbit is 3 years old
>>> print '%.1f is average' % y # .1fで小数点1桁まで表示する
12.5 is average
>>> print '%.1f * %d' % (y, x) # 複数の引数をとる場合は括弧で囲む
12.5 * 3
>>> print '%.1f * %d = %.1f' % (y, x, y * x)
12.5 * 3 = 37.5

6

>>> print "%.2f" % 34.5
34.50
>>> print "%.2e" % 34.5 # eは指数表示、.2で小数点第2位まで表示
3.45e+01
>>> print "%04d" % 8 # 0が0埋めを意味する
0008
>>> print "%-2d" % 8 # -が左詰めを意味する
8 

7

>>> num = float(raw_input("Please input number")) # 入力を求める画面が出るので3.14と入力
>>> print num
3.14

8

たとえば「文字列 + 整数」のようなデータに対し足し算を認めていないので、変数を+で結べないようにしている。'123' + 4 は文字列('1234')としてみるか、数値(127)としてみるかという複数の解釈が発生してしまうので、そのような問題も避けている。

9

文字列に負数をかけるという操作は無意味なものであり、0回かけた空文字列とは区別するべきという立場であればエラーにするべき。 ただし、そこに気をつけていれば、負数をかけることでエラーにならないことは処理が簡単になるというメリットもあると思われる。

0 件のコメント:

コメントを投稿

フォロワー

ブログ アーカイブ

ページビューの合計