チームの結果を予測し、pyinstallerを使用してファイルをパッケージ化する

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.結果は次のとおりです

 

おすすめ

転載: www.cnblogs.com/qinlai/p/12730831.html