2013年5月9日木曜日

開発環境

『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7)のIII部(ステートメント)、13章(whileループとforループ)の練習問題を解いてみる。

その他参考書籍

1, 2, 3, 4, 5, 6.

コード(BBEdit)

sample.py

#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-

# ループのelseブロックはループが終了したら実行される
# (ただし、breakでループが終了したときは実行されない)
for x in range(5):
    print(x)
else:
    print("else1")

x = 5
while x < 10:
    print(x)
    x += 1
else:
    print("else2")

for x in range(5):
    print(x)
    if x == 2:
        break
else:
    print("else3")

x = 5
while x < 10:
    print(x)
    if x == 7:
        break
    x += 1
else:
    print("else4")

# リストの要素に順にアクセス
l = ['a', 'b', 'c', 'd', 'e']
for x in l:
    print(x)

# forループの反復処理で行われていること
i = iter(l)
print(next(i))
print(next(i))
print(next(i))
print(next(i))
print(next(i))

try:
    print(next(i))
except Exception as err:
    print(type(err), err, err.args)

# リスト内包表記によるリストの作成
l = [x + 10 for x in range(5)]
print(l)

# pythonの反復処理いろいろ
# 上記のforループ、リスト内包表記
# map
l = map(lambda x: x * 2, [1,2,3,4,5])
for x in l:
    print(x)

# zip
l = zip(['a','b','c','d','e'], [1,2,3,4,5])
print(l)
for x in l:
    print(x)

# sum
print(sum([x for x in range(1, 11)]))

# all
print(all([1, 1, 1, 1, 0]))

# any
print(any([0, 0, 0, 0, 1]))

# テキストファイルの内容を1行ずつ読み込む
with open('sample.txt') as f:
    for line in f:
        print(line, end="")

入出力結果(Terminal)

$ ./sample.py
0
1
2
3
4
else1
5
6
7
8
9
else2
0
1
2
5
6
7
a
b
c
d
e
a
b
c
d
e
<class 'StopIteration'>  ()
[10, 11, 12, 13, 14]
2
4
6
8
10
<zip object at 0x10cc04320>
('a', 1)
('b', 2)
('c', 3)
('d', 4)
('e', 5)
55
False
True
Hello, world!
Hello, python!
Hello, Scheme!
Hello, C!
Hello, JavaScript!
$

0 コメント:

コメントを投稿