開発環境
- OS X Lion - Apple(OS)
- Emacs、BBEdit - Bare Bones Software, Inc. (Text Editor)
- Ruby (プログラミング言語)
『初めてのプログラミング 第2版』(Chris Pine 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-469-9)の 7章(フロー制御), 7.5(練習問題)、続・耳の遠いおばあちゃん、を解いてみる。
その他参考書籍
- 『プログラミング言語 Ruby』David Flanagan, まつもと ゆきひろ 著 、卜部 昌平 監訳、長尾 高弘 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-394-4)
- Rubyクックブック ―エキスパートのための応用レシピ集
続・耳の遠いおばあちゃん
コード(BBEdit)
sample.rb
#!/usr/bin/env ruby2.0
#-*- coding: utf-8 -*-
counter = 0
while true
said = gets.chomp
if said == said.upcase
if said == 'BYE'
counter += 1
if counter == 3
break
end
else
counter = 0
end
puts "NO, NOT SINCE #{1930 + rand(21)}!"
else
counter = 0
puts 'HUH?! SPEAK UP, SONNY!'
end
end
puts "BYE"
入出力結果(Terminal)
$ ./sample.rb hi HUH?! SPEAK UP, SONNY! HI NO, NOT SINCE 1945! BYE NO, NOT SINCE 1950! BYE NO, NOT SINCE 1936! bye HUH?! SPEAK UP, SONNY! BYE NO, NOT SINCE 1947! BYE NO, NOT SINCE 1938! BYE BYE $
ちなみにpython3.3の場合。
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-
import random
counter = 0
while True:
said = input()
if said == said.upper():
if said == 'BYE':
counter += 1
if counter == 3:
break
else:
counter = 0
print('NO, NOT SINCE {}!'.format(random.randint(1930, 1950)))
else:
counter = 0
print('HUH?! SPEAK UP, SONNY!')
print('BYE')
入出力結果(Terminal)
$ ./sample.py hi HUH?! SPEAK UP, SONNY! HI NO, NOT SINCE 1936! BYE NO, NOT SINCE 1943! BYE NO, NOT SINCE 1945! bye HUH?! SPEAK UP, SONNY! BYE NO, NOT SINCE 1938! BYE NO, NOT SINCE 1938! BYE BYE $
0 コメント:
コメントを投稿