LoginSignup
1
0

More than 3 years have passed since last update.

pythonで野球のストライクボールのカウントやってみる

Last updated at Posted at 2019-06-25

はじめに

前提として、
・ストライクかボールのみの判定
(ファールはとりあえずなし)
・3球目のストライクで三振!アウトになる。
・4球目のボールでフォアボール。

コード例=================

s1 = ""
sk = 0
bl = 0
import random
for N in range(1,7):
if N <= 6:
print(N)
mylist = ["strike!", "ball!"]
s1 = random.choice(mylist)
print(s1)
if s1 == "strike!":
sk += 1
else:
bl += 1
if sk > 2:
print("三振!!アウト!!")
break
if bl > 3:
print("フォアボール!!")
break
これで出来ました。

まず、randomモジュールをimportします。
これを忘れてて時間を無駄にした。。

次に繰り返しのなかで処理していくのですが、
今回の場合投球数は最大6球なので第二引数は7です。

そして、["strike!", "ball!"]の要素をいれた
mylistという配列を作り、その中身からランダムに1つ取得して
それをstring型の変数s1に代入させています。

ここまでの処理では1から6までの数字と
strikeかballどちらかが出力されるはず。

次はif文が二つ並んでいますが、一つ目のif~elseでは
strikeとballボールのカウントをそれぞれしています。
初期値が0の変数をそれぞれ+1する。

そして次のif~elseで
ストライクが3つになったら三振、
ボールが4つでフォアボールと表示させ、
breakでループから抜けました。
繰り返し処理が、6まではされるのでループから抜けないと
strike
strike
strike
三振
ball
三振
ball
三振
、、、、、
の様に続いてしまいます。
コード自体はシンプルかなと思います。
アルゴリズムの部分で苦戦しました。。

今回新しく学んだこと
randomモジュールを初めて使いました。
他にもいろんなことができるみたいなので、
もう少し調べてみる。
あとはブレイク処理も完成した~と思っていたところから
うまくいっていなくて後から足した処理。
こういうやり方があるんですね。

おわり
毎日新しい発見があったり学んだことを
生かして新しい事が出来たり
小さな積み重ねですね。
このコードを使ってファールを足したり、
バッティングの結果を追加したりしようかな。

1
0
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0