今まで使っていた変数には値を1個しか入れていませんでしたが、配列には
複数の値を入れて使うことが可能です。
配列への値の入れ方。
配列名 = [値1、値2、値3]
配列に入れた値をとりだすには、
変数 =配列名[番号]
番号は0から始まります。
値1を取り出すには、
変数 =配列名[0]
になります。
さっそく使ってみます。
おみくじプログラムです。
omikuzi = ["大吉","中吉","小吉","吉","半吉","末吉","末小吉","凶","小凶","半凶","末凶","大凶"] a = rand(12) print("あなたの引いたくじは",omikuzi[a],"です","\n")
配列に入れた値を取り出すためにrand(12)で0から11の整数をつくり、値を取り出すための番号に
しています。
前回のプログラムでは実行結果の「あなたの手とコンピュータの手」のところに数字が表示されているだけでした。
少し分かりにくいので配列を使ってこのメッセージを変更します
STDOUT.sync = true goo = 1 par = 2 choki = 3 hand = ["グー","パー","チョキ"] #追加 print("[1:グー、2:パー、3:チョキ]","\n") print("[1,2,3]の数字を入力","\n") human_hand = gets.to_i computer_hand = rand(3)+1 print("あなたの手",hand[human_hand-1],"\n") #変更 print("コンピュータの手",hand[computer_hand-1],"\n")
配列「hand」には[“グー”,”パー”,”チョキ”]を入れています。配列の値をどりだすには「0,1,2」の数字が
必要になります。変数「human_handとcomputer_hand」には「1,2,3」のどれかの数字が入っているので、
hand[human_hand-1]、hand[computer_hand-1]のように「1」を引いています。
じゃんけんプログラムもほぼ完成。残る問題は、自分の手を入力する際に
「1,2,3」以外の番号や文字を入力した場合どうするかです。
最近のコメント