課題は順番にこなす必要はありません。面白そうだと思った課題にチャレンジしてみてください。
もちろんこれ以外に自分で課題を持っているならば、それをやってみるのも良いでしょう。
socketモジュールを使って足し算を行うサーバを作成してください
telnetコマンドで次のように 整数+整数 のように送信すると足し算の結果を返すサーバを作成してください。
$ telnet localhost 5000
Trying 127.0.0.1...
Connected to debian02.
Escape character is '^]'.
10+20
30
123+456
579
ヒント
socketモジュールを使って、1.で作成したサーバにデータを送信して、結果を取得して画面に表示するプログラムを作成してください
引数を渡して実行すると結果を返してくれるようにしてみてください
$ python add.py 10+20
30
sqlite3モジュールを使って、引数で与えられた品名と金額をデータベースに保存するプログラムを作成してください
$ python inputdb.py みかん 50
$ python inputdb.py りんご 100
$ python inputdb.py バナナ 200
ヒント
sysモジュールのargvでコマンドライン引数を取得することができます。
http://www.python.jp/doc/release/library/sys.html
sqlite3モジュールでsqlite3のデータベースを操作することができます。
http://www.python.jp/doc/release/library/sqlite3.html
テーブルを作成するSQL: | CREATE TABLE items (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, cost INTEGER); |
---|---|
データを挿入するSQL: | INSERT INTO items(name, cost) VALUES("みかん", 50); |
1で作成したデータベースの内容を一覧表示するプログラムを作成してください
$ python listdb.py
みかん 50円
りんご 100円
バナナ 200円
ヒント
データを取得するSQL: | SELECT name, cost FROM items; |
---|
引数から入力された金額以上の品物名とその品物の金額を表示してください
$ python filter.py 100
100円以上の品物は、
りんご 100円
バナナ 200円
ヒント
データを取得するSQL: | SELECT name, cost FROM items WHERE cost >= 100; |
---|
次に示すCSVファイルは、果物屋の品物の売上レポートのデータです。
items.csv:
2012/06/01,りんご,2,100
2012/06/01,みかん,10,40
2012/06/02,りんご,3,100
2012/06/02,バナナ,3,200
2012/06/03,りんご,4,120
2012/06/03,みかん,5,50
2012/06/04,みかん,5,60
2012/06/04,バナナ,4,150
2012/06/05,りんご,1,100
2012/06/05,みかん,10,50
1列目は日付、2列目は品物名、3列目は販売した個数、4列目はその日の品物の1個あたりの価格です。ファイルの文字コードはShiftJIS(CP932)です。
csvモジュールを使ってCSVファイルを読み込み、各品物ごとに合計の数を計算し、画面に表示するプログラムを作成してください
$ python item_report.py
りんご 10個
みかん 30個
バナナ 7個
csvモジュールを使ってCSVファイルを読み込み、日付ごとの売上金額を計算し、画面に表示するプログラムを作成してください
$ python report.py
2012/06/01 600円
2012/06/02 900円
2012/06/03 730円
2012/06/04 900円
2012/06/05 600円