1.卓球チームの結果を予測する
1.卓球競技規則
1つのゲーム:ゲームでは、最初の11ポイントがある側が勝者となり、10引き後、最初の2ポイントがある側が勝者となります。
1つのゲーム:シングルノックアウトマッチは4イニングを使用し、ダブルスノックアウトおよびチームマッチは5イニングを使用します。
2.プログラムの全体的な枠組み:
(1)印刷プログラムの紹介
(2)プログラム実行パラメーターを取得する:probA、probB、n
(3)プレイヤーAとBの能力値を使用してnゲームをシミュレートする
(4)プレーヤーAとBが勝った試合の数と確率を出力する
3.コードは次のとおりです
1 from random import random 2 def printInfo(): 3 print(" 2019310143011 " ) 4 print(" このプログラムは、2人のプレーヤーAとBの卓球ゲームをシミュレートします" ) 5 print("このプログラムには、AとBの能力値が必要です( 0と1の間の10進数として表されます)" ) 6 def getInputs(): 7 a = eval(input(" プレイヤーAの能力値(0-1)を入力してください:" )) 8 b = eval(input(" プレーヤーBの能力値(0-1)を入力してください:" )) 9 N- =評価(INPUT(" シミュレート競争スクリーニング:" )) 10 リターンA、B、N- 11。 DEF simNGames(N、Proba、probB): 12である winsA、winsB = 0、 13である ため、I でレンジ(N): 14 scoreA、scoreB = simOneGame(probA、probB) 15 if scoreA> scoreB: 16 winsA + = 1 17 else : 18 winsB + = 1 19 return winsA、winsB 20 def gameOver(a、b): 21 if> = 10 及び B> = 10 : 22 であれば ABS(AB)== 2 : 23 リターン 1 24 のelif <10 と B <10 : 25 であれば == 11 又は B == 11 : 26 リターン 1 27 他: 28 リターン0 29 DEF simOneGame(probA、probB): 30 scoreA、scoreB = 0,0 31 =サービング" A " 32 つつ ないゲームオーバー(scoreA、scoreB): 33 if serve == " A " : 34 if random()< probA: 35 scoreA + = 1 36 else : 37 serve = " B " 38 else : 39 if random()< probB: 40 scoreB + = 1 41 else : 42 serve = " A " 43 戻りスコアA 、スコアB 44 def printSummary(winsA、winsB): 45 n = winsA + winsB 46 print(" 競争分析の開始、合計{}ゲームをシミュレート" .format(n)) 47 print(" プレーヤーAが{}ゲームに勝利し、{:0.1%}を占める" " .format(winsA、 winsA / n)) 48 print(" プレーヤーBが{}ゲームに勝利し、{:0.1%}を占める" " .format(winsB、winsB / n)) 49 def main(): 50 printInfo() 51 probA、probB、 n = getInputs() 52 winsA、winsB = simNGames(n、probA、probB) 53 printSummary(winsA、winsB) 54 main() 55python3:input(" 終了するには任意のキーを入力してください!")
特別な注意:パッケージ化するpyファイルのメイン関数に入力を追加できます。そうしないと、パッケージ化された.exeファイルが実行後にクラッシュする可能性があります。
最後の行にコードを追加できます(python2とpython3を区別します)
1 python2:raw_input(" 終了するには任意のキーを入力してください!" ) 2 python3:input(" 終了するには任意のキーを入力してください!")
4.運用結果は次のとおりです。
次に、pyinstallerを使用してファイルをパッケージ化します
1.最初にcmdを開き、pyinstallerをインストールします
2.パッケージ化:パッケージ化するファイルでコマンドラインを開き、pyinstaller -Fファイル名を入力する必要があります
3.パッケージが正常に検出されると、distファイルが生成される実行可能ファイルになります。
4. [実行]をクリックして試してください
3.バスケットボールゲームのルールを使用してゲームをシミュレートする
1.コード
import random
def printInfo():
print( "by 2019310143011")
print( "このプログラムは、2つのチームAとBの間のバスケットボールゲームをシミュレートします")print( "このプログラムには、チームAとB
の能力値(0から10進数の1) ")
def getInputis():
a = eval(input(" Please enter A team's ability value(0-1): "))
b = eval(input(" Please enter team B能力値(0-1): "))
n = eval(input("シミュレーションセッションを入力してください: "))
return a、b、n
def simOneGame(n、probA、probB):
scoreA、scoreB = 0、0 serve
= "A"
a = 0
while(a <= n)or(a> n)and(scoreA == scoreB):if serve
== "A":
if random.random()<probA:
scoreA + = 1
その他:
サービング= "B "
その他:
if random.random()<probB:
scoreB + = 1
else :serve
= "A"
a + = 1
return scoreA、scoreB
def printSummary(n、scoreA、scoreB):
print( "競争分析が開始され、合計{}ゲームがシミュレーションされます".format(n))
print("チームAは{}ポイントを取得します ".format(scoreA))
print("チームBは{}ポイント ".format(scoreB))を取得します(
scoreA> scoreB:
char = 'Aの場合) '
else:
char =' B '
print( "勝者はチーム{}"です。形式(char))
def main():
printInfo()
probA、probB、n = getInputs()
scoreA、scoreB = simOneGame(n、 probA、probB)
printSummary(n、scoreA、scoreB)
main()
input( "input any keyword")
2.結果は次のとおりです