search
クリプト

Python 「抽選プログラム」 つくってみる

ののた's icon'
  • ののた
  • 2018/07/20 12:04
Content image

こんにちは!! ホーさん記事で衝撃を受け、投稿を再開したののたです。

Pythonを勉強して学んだ事をALISの記事にすれば勉強が続くのでは!?と思い

メモ代わりに投稿!!


※変な事を言っていたらTwitterで教えてください・・・



前回までに勉強したif・else・elifを使ってみます。

Content image

今回は「1等」・「2等」・「3等」・「4等」・「5等」・「はずれ」を抽選する簡単な抽選プログラムを作ります。


前回に使ったコードを応用して下記のように書きます。


number = 2
    if number == 1:
print("1等 当たり")
    elif number == 2: #number変数が2(真)なら下段を実行する。
print("2等 当たり")  #「2等 当たり」と表示させる。
    elif number == 3: 
print("3等 当たり") 
    elif number == 4: 
print("4等 当たり") 
    elif number == 5: 
print("5等 当たり") 
    else:
print("はずれ") 

これを実行すると「2等 当たり」になります。

ifが(真)なら「1等」になり

elifが(真)なら「2等」・「3等」・「4等」・「5等」となり

ifもelifも(偽)ならelseとなり「はずれ」になるようにしています。

と言うことでnumber変数の値により1等~はずれを選択します。

と言うことは!number変数を自動でランダムに選ぶプログラム作る必要がありますが、有難いことにPythonではランダムな整数を生成できるモジュールがあります。


Content image

Pythonでは「バッテリー同梱」と言う思想があり、インストールと同時にすぐ使えるよう、いろいろと入っています。その中で関数をまとめたモジュールを多数付属されており、これらを総称して標準ライブラリと呼びます。

例として下記のようなモジュールがあります。

datetime 日時を扱う。
json    Webでよく使うJSON形式のデータを扱う。
math   三角関数などがまとめられている。
random   乱数を生成する。

と言うことで、乱数の生成をする為にrandomモジュールを使います。


Content image

ランダムに整数を生成できるモジュールです。

その中のrandint関数を使います。


インポート

randomモジュールを使うにはインポートする必要があります。

import random

モジュールのインポートは[import モジュール名]で実行できます・


randint関数

number変数にrandint関数を代入します。

number = random.randint(1,6)

randint()関数はrandomモジュール内にあるので関数の前にrandom.と書きPythonにrandint()はrandomモジュールの内にあるよ、と教えてあげなければなりません。

()引数に始まりと,終わりの範囲を指定します(,カンマ区切り)。


上記をまとめて書いてみましょう。

import random

number = random.randint(1,6) #1~6のランダムな整数。
if number == 1:
    print("1等 当たり")
elif number == 2:
    print("2等 当たり")
elif number == 3:
    print("3等 当たり")
elif number == 4:
    print("4等 当たり") 
elif number == 5:
    print("5等 当たり")
else:
    print("はずれ")

これを何回か実行すると

Content image

と言う感じでランダムに抽選された結果が返ってきます。

しかし、これではすべてが同じ確率で当たります。


Content image

抽選会などでは1等は1個、2等は2個、はずれは100個、のように等級により確率が変わるものだと思います。

そこで以前に勉強した比較演算子を使い確率を変えてみましょう。

確率は1位1%、2位2%、3位2%、4位3%、5位3%、はずれ89%で作ってみます。

import random

number = random.randint(1,100) #1~100のランダムな整数。
if number == 1:         #1なら当たり。
    print("1等 当たり")
elif number <= 3:      #2,3なら当たり。
    print("2等 当たり")
elif number <= 5:      #4,5なら当たり。
    print("3等 当たり") 
elif number <= 8:      #6,7,8ら当たり。
    print("4等 当たり") 
elif number < 12:       #9,10,11なら当たり。
    print("5等 当たり") 
else:
    print("はずれ") 

これを実行すと・・・

Content image

なかなか当たりません・・・

ほとんどが「はずれ」になります。何回か実行してやっと当たりがでました。


てな感じでお好みの確率で試してみてください。


Content image

次はリスト、タプルについて・・・




分析してみたシリーズはこちら→昨日のALIS 分析 7/19(木)



前回<<<  >>>次回




公開日:2018/07/20
獲得ALIS:43.72
Article registration Article registration
ののた's icon'
  • ののた
  • @nonota
只今、Pythonを勉強中・・・ プログラミングの素人です!!学んだ事をALISの記事にする事によって勉強が続くのかをTEST中です。

投稿者の人気記事
コメントする
Profile icon
  • ののた
  • 7年前

@クリプトだるま
ありがとうございます😀

ALISにはパイソニスタが結構いますね。
良かったらハッカー部を見に来て下さい。
レベルが高すぎてついていけてませんが…
やり取りを読んでいるだけでも勉強になりますよ🙂

Like comment
返信
Profile icon
  • エロ3.0変態だるま(元・暗号だるま)
  • 7年前

PythonってALISで流行ってるのかな

私もPythonを勉強中なので
こういう記事面白いです。

これからもALISとPythonを絡ませた記事楽しみにしてます。

Like comment
返信
Profile icon
  • ののた
  • 7年前

@ホーさん
教えていただてありがとうございます。修正しました。あまり需要はなさそうですが、載せやすくして欲しいです😅

@まるみかなさん
す、すみません...
上手く解説できるよう頑張ります😓

Like comment
返信
Profile icon
  • ホーさん
  • 7年前

抽選確率を変える、のところインテンドが揃っちゃってますね。ALISにプログラムコード載せるのはなかなか難しいですよね😅

Like comment
返信
Profile icon
  • まるみかな
  • 7年前

む、難しい

Like comment
返信
コメントする
こちらもおすすめ!
Eye catch
クリプト

【第8回】あの仮想通貨はいま「テレグラム-TON/Gram」

Taka 2021/07/24
Like token Tip token
69.90 ALIS
Eye catch
クリプト

【初心者向け】$MCHCの基本情報と獲得方法

暗号資産ジョシ校生 蟻巣 2021/07/14
Like token Tip token
32.32 ALIS
Eye catch
クリプト

Uniswap v3を完全に理解した

池田らいく 2021/04/04
Like token Tip token
18.92 ALIS
Eye catch
クリプト

Uniswap(ユニスワップ)で$ALISのイールドファーミング(流動性提供)してみた

Taka 2021/02/25
Like token Tip token
59.99 ALIS
Eye catch
クリプト

バイナンスの信用取引(マージン取引)を徹底解説~アカウントの開設方法から証拠金計算例まで~

昆布森ちゃん 2020/06/15
Like token Tip token
3.50 ALIS
Eye catch
クリプト

UNISWAPでALISをETHに交換してみた

Macky3216 2020/09/28
Like token Tip token
40.40 ALIS
Eye catch
クリプト

2021年1月以降バイナンスに上場した銘柄を140文字以内でざっくりレビュー(Twitter向け情報まとめ)

昆布森ちゃん 2021/03/16
Like token Tip token
38.10 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

otakucoin 2021/03/29
Like token Tip token
121.79 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

大田コウキ 2021/04/06
Like token Tip token
947.13 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

昆布森ちゃん 2021/01/19
Like token Tip token
38.31 ALIS
Eye catch
クリプト

CoinList(コインリスト)の登録方法

Taka 2021/02/25
Like token Tip token
15.55 ALIS
Eye catch
クリプト

【初心者向け】JPYCを購入して使ってみました!

暗号資産ジョシ校生 蟻巣 2021/06/30
Like token Tip token
30.03 ALIS