開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc., Emacs(Text Editor)
- プログラミング言語: Perl
『初めてのPerl 第6版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2012年、ISBN978-4-87311-567-2)の10章(さまざまな制御構造)の10.11(練習問題)2を解いてみる。
その他参考書籍
2.
コード(BBEdit)
sample.pl
#!/usr/bin/env perl
use strict;
use warnings;
use 5.016;
use utf8;
binmode STDOUT, ':utf8';
binmode STDIN, ':utf8';
my $DEBUG = $ENV{DEBUG} // 1;
my $secret_num = int(1 + rand 100);
print "秘密の数: $secret_num\n" if $DEBUG;
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 秘密の数: 4 1から100までの秘密の数当てゲーム 4 正解! $
sample.pl
#!/usr/bin/env perl
use strict;
use warnings;
use 5.016;
use utf8;
binmode STDOUT, ':utf8';
binmode STDIN, ':utf8';
$ENV{DEBUG} = 0;
my $DEBUG = $ENV{DEBUG} // 1;
my $secret_num = int(1 + rand 100);
print "秘密の数: $secret_num\n" if $DEBUG;
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 high 24 Too low 37 Too high 30 Too low 33 Too high 31 正解! $
ちなみにpython3.3の場合。
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3
## Copyright (C) 2013 by kamimura
#-*- coding: utf-8 -*-
import random, re, os
env = dict(os.environ)
if not "DEBUG" in env:
env["DEBUG"] = 1
secret_n = random.randint(1, 100)
if env['DEBUG']:
print("秘密の数: {0}".format(secret_n))
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 秘密の数: 16 秘密の数当てゲーム 数値を入力: 16 正解! $
sample.py
#!/usr/bin/env python3.3
## Copyright (C) 2013 by kamimura
#-*- coding: utf-8 -*-
import random, re, os
env = dict(os.environ)
env['DEBUG'] = 0
if not "DEBUG" in env:
env["DEBUG"] = 1
secret_n = random.randint(1, 100)
if env['DEBUG']:
print("秘密の数: {0}".format(secret_n))
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 low 数値を入力: 75 Too high 数値を入力: 62 Too high 数値を入力: 56 Too low 数値を入力: 59 正解! $
0 コメント:
コメントを投稿