2014年8月12日火曜日

開発環境

Head First C ―頭とからだで覚えるCの基本(David Griffiths (著)、Dawn Griffiths (著) 中田 秀基(監訳)(翻訳)、木下 哲也 (翻訳)、オライリージャパン)の1章(Cを始める: Cの世界に飛び込む)、エクササイズ(p.35)をpythonで考えてみる。

エクササイズ(p.35)

コード(BBEdit, Emacs)

sample35.py

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

vals = {'K':10, 'Q':10, 'J': 10, 'A':11}
count = 0

while True:
    name = input('カード名を入力してください:\n')
    if name[0] in vals:
        val = vals[name[0]]
    elif name[0] == 'X':
        break
    else:
        val = int(name)
        if not 1 <= val <= 10:
            print('整数は1から10の範囲で入力してください。')
            continue
    if 3 <= val <= 6:
        count += 1
    elif val == 10:
        count -= 1
    print('現在のカウント: {0}'.format(count))

入出力結果(Terminal, IPython)

$ ./sample35.py
カード名を入力してください:
K
現在のカウント: -1
カード名を入力してください:
Q
現在のカウント: -2
カード名を入力してください:
J
現在のカウント: -3
カード名を入力してください:
A
現在のカウント: -3
カード名を入力してください:
11
整数は1から10の範囲で入力してください。
カード名を入力してください:
10
現在のカウント: -4
カード名を入力してください:
1
現在のカウント: -4
カード名を入力してください:
0
整数は1から10の範囲で入力してください。
カード名を入力してください:
7
現在のカウント: -4
カード名を入力してください:
6
現在のカウント: -3
カード名を入力してください:
3
現在のカウント: -2
カード名を入力してください:
2
現在のカウント: -2
カード名を入力してください:
X

0 コメント:

コメントを投稿