2014年7月8日火曜日

開発環境

初めてのPerl 第6版 (Randal L. Schwartz (著)、brian d foy (著)、Tom Phoenix (著)、近藤 嘉雪 (翻訳)、オライリージャパン)の15章(スマートマッチとgiven-when)の15.6(練習問題)1.をPythonで考えてみる。

15.6(練習問題)1.

コード(BBEdit, Emacs)

sample1.py

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

import random
import re

secret_num = random.randint(1, 100)
print('1から100までの数を入力')

while True:
    num = input('>> ')
    if re.match(r"\A\s*\Z", num):
        print('終了')
        break
    if re.match(r"\D+", num):
        print('1から100までの整数を入力してください。')
    else:
        num = int(num)
        if num > 100 or num == 0:
            print('1から100までの整数を入力してください。')
        elif num == secret_num:
            print('正解です!')
            break
        elif num > secret_num:
            print('大きすぎます。')
        else:
            print('小さすぎます。')

入出力結果(Terminal)

$ ./sample1.py 
1から100までの数を入力
>> 50
小さすぎます。
>> 75
小さすぎます。
>> 88
大きすぎます。
>> 81
小さすぎます。
>> 84
大きすぎます。
>> 82
小さすぎます。
>> 83
正解です!
$ ./sample1.py 
1から100までの数を入力
>> 
終了
$ ./sample1.py 
1から100までの数を入力
>> python
1から100までの整数を入力してください。
>> 50
小さすぎます。
>> 
終了
$

0 コメント:

コメントを投稿