開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの機能制限無料版、light版)
- Script言語:Perl
『初めてのPerl 第6版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2012年、ISBN978-4-87311-567-2) の10章(さまざまな制御構造)、10.11(練習問題)1を解いてみる。
その他参考書籍
1.
コード(TextWrangler)
sample.pl
#!/usr/bin/env perl ## Copyright (C) 2012 by kamimura use strict; use warnings; use utf8; use 5.016; binmode STDIN, ':utf8'; binmode STDOUT, ':utf8'; my $secret_num = int(1+rand 100); print "($secret_num)\n"; print "秘密の数当てゲーム\n"; while(1){ chomp(my $n = <STDIN>); last if $n =~ /^\s*$/; if($n =~ /\D/){ print "数値を入力してください\n"; } elsif ($n > $secret_num){ print "Too high\n"; } elsif($n < $secret_num) { print "Too low\n"; } else { print "正解!\n"; last; } }
入出力結果(Terminal)
$ ./sample.pl (81) 秘密の数当てゲーム 80 Too low 90 Too high perl 数値を入力してください 81 正解! $ ./sample.pl (86) 秘密の数当てゲーム $
ちなみにJavaScriptの場合。
コード(TextWrangler)
<script> var secret_num = Math.floor(Math.random() * 100) + 1; function clicked(){ var n = $('#t0').val(); if(n === ""){ $('#label0').remove(); $('#btn0').remove(); return; } n = parseInt(n); if(/\D/.test(n)){ $('#pre0').append("数値を入力してください\n"); } else if( n > secret_num){ $('#pre0').append("Too high\n"); } else if(n < secret_num){ $('#pre0').append("Too low\n"); } else { $('#pre0').append("正解!"); $('#label0').remove(); $('#btn0').remove(); } } function f(nsEvent){ var event = nsEvent ? nsEvent : window.event; if(event.keyCode === 13) clicked(); } </script> <pre id="pre0"></pre> <label id="label0">秘密の数当てゲーム(1から100): <input id="t0" type="text" value="" onkeydown="f()" /></label> <input id="btn0" type="button" value="当たり/外れ?" onclick="clicked()" />
pythonの場合。
sample.py
コード(TextWrangler)
#!/usr/bin/env python3.3 #-*- coding: utf-8 -*- import random import re secret_num = random.randint(1,100) print("({0})".format(secret_num)) while True: n = input() if re.match(r"^\s*$", n): break if re.match(r"\D", n): print("数値を入力してください") continue n = int(n) if n > secret_num: print("Too high") elif n < secret_num: print("Too low") else: print("正解!") break
入出力結果(Terminal)
$ ./sample.py (54) 50 Too low 55 Too high python 数値を入力してください 54 正解! $ ./sample.py (80) $
0 コメント:
コメントを投稿