Life

暇つぶしにロト6で1つの組み合わせを買い続けた場合何回目で当選するのかプログラムを組んで試してみた。

どうも松です(=゚ω゚)ノ

あまりに暇だったのでクソしょうもない記事を載せることにしました。

最近Pythonを独学で初めてみたんですが、まぁ当然のごとく少しかじった程度では大して理解できたわけでもなく大層なコードを書けるわけもないんですが、ふと頭に浮かんだんで無い知識を振り絞って四苦八苦しながらコードを書いてみました。

ロト6で1つの組み合わせを買い続けた場合、何回目で当選するのか?』を試してみるコードです。

当然ですが、ど素人が書いたコードなんで突っ込みどころ満載かと思いますが生暖かい目で見てやってください。

ということで実際に書いたコードがこちらです。

import random
list=[] #リスト用変数
yosou=[2,5,10,22,34,41] #自分の予想(変更する場合1~43を数字の小さい順に6個選ぶ。)
kaisuu=0 #回数をカウントする用の変数
#1~43の数字の中からランダムで6個の数字を選ぶ関数
def loto_6():
  while True:
    t=random.randrange(1,44)
    #選んだ数字が重複してなければリストに加える
    if list.count(t)!=1:
      list.append(t)
    #リストの要素数が6になったら終了する
    if len(list)==6:
      break
  list.sort() #リストを数字の小さい順に並び変える
while True:
  loto_6() #1~43の数字の中からランダムで6個の数字を選ぶ関数
  #予想が当たった場合
  if list==yosou:
  kaisuu=kaisuu+1
    print(str(kaisuu)+"回目で当たり!")
    break
  #予想が外れた場合
  else:
    kaisuu=kaisuu+1
    print(str(kaisuu)+"回目:はずれ!")
    list=[]#新たに6個の数字を生成する為に空にする

 

GUIに落とし込んだり、予想数字を選ぶ際の関数を書くなど改善できる部分はいくらでもありますが、とりあえず結果さえ分かればいいと思って書いたのでご容赦ください。

後から見直すとなんか変だなと思うところもありましたが、とりあえず動いたので見ないふりをしますw

実際に動かしてみてあまりに当たらなくて途中で止めたい場合VScodeならターミナルを選んでCtrl+Cを押せば終了します。

IDLEの場合はshell画面でCtrl+Cを押せば終了します。

実際に動かしてみるとまぁ~~~~当たらないw

宝くじの200円とか300円ってのは当たったときの妄想をする為の妄想料だと実感しました…

宝くじに当たったら運を使い果たすって言われるのも納得です(´・ω・`)

以上、しょうもない思い付きで素人が書いたコードの紹介でした!w