基本文

Python では indent (字下げ) に意味がある

代入

例:
spam = 'Spam'
spam, ham = 'yum', 'YUM'
[spam, ham] = ['yum', 'YUM']
spam = ham = 'lunch'

変数名の規則

式の結果は保存されない.(副作用がある場合に使われる)

print文

オブジェクトの文字表現を標準出力ストリームへ書き出す.

if 文

形式
if <条件1>:
    <文1>
elif <条件2>:        # 省略可
    <文2>
else:                # 省略可
    <文3>

whileループ

while <条件1>:
    <文1>
    if <条件2>:
        <文2>
        break        # ループから抜ける
    if <条件3>:
        <文3>
        continue     # ループの先頭へ移る
    <文4>
else:                # break が実行されなかったとき
    <文5>            # 文2が実行される
その他に pass は,「なにもしない」文として使われる.

for ループ

for target in object:
    <文1>            # while と同様
else:                # break が実行されなかったとき

コーディング上の注意

1から10までの足し算
x = 1
s = 0
while x <= 10:
    s = s + x
    x = x + 1
print s
または
s = 0
for i in range(1,11):
    s = s + i
print s
ファイルから1行ずつ読み出す.
file = open('filename','r')
while 1:
    line = file.readline()
    if not line:
         break
    print line,
または,
file = open('filename','r')
for line in file.readlines():
    print line,    

演習問題

以下の問題では,できるだけモジュールを作成して,演習の成果がわかるようにしなさい.
  1. 基本ループのコーディング
  2. D = {'a': 1, 'b': 2, 'c': 3} というディクショナリを作成し,print D で どのような順序で表示されるか試してみなさい. 次に,ディクショナリの要素を(昇順に)整列した順序で表示しなさい. ヒント:ディクショナリのキーをリストにして返す keys というメソッドと, リストを(昇順に)整列する sort メソッドを使う.
  3. 2のべき乗のリストから 2の5乗(32) を検索するモジュールファイル power.py がある.これを次の指示に従って順に書き換えて,それぞれ powerN.py (N = 1,2,3,4) というモジュールファイルにしなさい.
    1. フラグ found と最後の if 文を取り除くために,while/elseループを用いて コードを書き直せ.
    2. リストの添字付けを明示的に行なうことをやめるため,else付きのforループ を使って書き直せ.ヒント:L.index(X)でリストLの中にある最初のXの位置が 返される.
    3. メンバシップ演算子 in を用いてループ無しで書き直せ.
    4. 2のべき乗のリスト(L)を,for ループと append メソッドを使って生成するように 書き直せ.