2013年8月4日日曜日

開発環境

『初めてのPerl 第6版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2012年、ISBN978-4-87311-567-2)の10章(さまざまな制御構造)の10.11(練習問題)1を解いてみる。

その他参考書籍

1.

コード(BBEdit)

sample.pl

#!/usr/bin/env perl
use strict;
use warnings;
use 5.016;
use utf8;
binmode STDOUT, ':utf8';
binmode STDIN, ':utf8';

my $secret_num = int(1 + rand 100);

print "1から100までの秘密の数当てゲーム\n";

while (1) {
    chomp(my $num = <STDIN>);
    last if $num =~ /^(quit|exit)$/;
    if ($num =~/\D/) {
        print "数値を入力してください\n";
    } elsif ($num > $secret_num) {
        print "Too high\n";
    } elsif ($num < $secret_num) {
        print "Too low\n";
    } else {
        print "正解!\n";
        last
    }
}

入出力結果(Terminal)

$ ./sample.pl
1から100までの秘密の数当てゲーム
50
Too low
75
Too low
88
Too low
94
Too high
91
正解!
$ ./sample.pl
1から100までの秘密の数当てゲーム
perl
数値を入力してください
quit
$ ./sample.pl
1から100までの秘密の数当てゲーム
exit
$

ちなみにpython3.3の場合。

コード(BBEdit)

sample.py

#!/usr/bin/env python3.3
## Copyright (C) 2013 by kamimura
#-*- coding: utf-8 -*-

import random, re

secret_n = random.randint(1, 100)
print("秘密の数当てゲーム")
while True:
    num = input("数値を入力: ")
    if re.match(r"(quit|exit)", num):
        break
    if re.search(r"\D", num):
        print("数値を入力してください")
        continue
    num = int(num)
    if num > secret_n:
        print("Too high")
    elif num < secret_n:
        print("Too low")
    else:
        print("正解!")
        break

入出力結果(Terminal)

$ ./sample.py
秘密の数当てゲーム
数値を入力: 50
Too high
数値を入力: 25
Too low
数値を入力: 37
Too high
数値を入力: 32
Too high
数値を入力: 28
Too low
数値を入力: 30
Too low
数値を入力: 31
正解!
$ ./sample.py
秘密の数当てゲーム
数値を入力: python
数値を入力してください
数値を入力: quit
$ ./sample.py
秘密の数当てゲーム
数値を入力: exit
$

0 コメント:

コメントを投稿