4桁のランダムな値をつくるよ!「list」の使い方もマスターしよう!

4桁のランダムな値をつくるよ!「list」の使い方もマスターしよう!

4桁のランダムな値をつくっていこう!

前回はお試しで1桁だけの数当てゲームを作ったけど、今回からいよいよ本格的に作り込んでいくよ!この記事ではまず「4桁のランダムな数」を作るプログラムを書いていこう。

4つのランダムな数字を合体させる

ランダムな数を作る方法は前回やったから、4桁にするにはそれを4回やって合体させればOKだ。先に書き方をかいちゃうね。

# codeing=utf-8
import random

a1 = random.randint(0,9)
a2 = random.randint(0,9)
a3 = random.randint(0,9)
a4 = random.randint(0,9)

print( str(a1) + str(a2) + str(a3) + str(a4) )

これで実行すれば、毎回違う4桁の数字がちゃんと出てくるはずだ。ポイントは9行目。「a1 + a2」のようにしないで「str(a1) + str(a2)」としているところ。これは数字どうしで「+」をすると、普通に足し算の計算結果が出てきちゃうからだね。str()を使って文字列に変換してから足してるんだ。

別のやり方

実は単純に4桁の数字を出すってだけなら、もっと超カンタンな方法がある。それが下の書き方。

# codeing=utf-8
import random

a = random.randint(0,9999)
print(a)

0から9999までの間でランダムな数を表示するからこれだけでも4桁の数字が出せるんだ。でも今回はわざわざ4つの数字を合体させる方法で進めていく。その理由はヒットアンドブローゲームでは、1桁ずつ判定する必要があるから。a1,a2という風に別々の変数にしておいた方が後々ラクになるんだ。

「list」を使って書く

a1,a2,a3,a4って感じで変数を4つ使ってもいいんだけど、1つにまとめる方法もある。それが「list(リスト)」だ。listを使えば1つでたくさんの値をもつことができるんだ。書き方はこんな感じ。

a = [3,5,2,6]

値を並べて「,」で区切って「[]」で囲むのがポイントだよ。こうしておくと「リストaの1つ目は3、2つ目は5みたいな使い方ができるんだ。

ちなみにこのそれぞれの値のことを「要素(element)」という。そして何番目の要素かっていう順番のことを「インデックス」というから覚えておこう。

リストから要素を取り出してみる

それじゃあ実際にリストから要素を取り出してつかってみよう。こんなふうに書けばOKだ。

# codeing=utf-8

a = [3,5,2,6]
print(a[0])

▽ 実行結果

3
>>> 

aに入ってる要素は[3,5,2,6]。そして取り出すときはa[0]としてる。注目なのは0から順番を数えるということ。最初の要素を使うには0番目という数えることになるんだね。

リストに書き直してみる

それじゃあ最初に書いたプログラムをリストを使って書き直してみよう。こんな感じだ。

# codeing=utf-8

import random

a = [random.randint(0,9),
     random.randint(0,9),
     random.randint(0,9),
     random.randint(0,9)]

print(str(a[0]) + str(a[1]) + str(a[2]) + str(a[3]))

▽ 実行結果

6053
>>> 
今日のまとめ

  • 4桁のランダムな数字をつくろう!
  • 「list」の使い方を覚えよう!