1. 程式人生 > >Life is short,Use Python!-----Python八殺!-----Python程式設計方法

Life is short,Use Python!-----Python八殺!-----Python程式設計方法

方法! 菜雞們你們知道方法嗎?(滑稽)

- Python程式設計思維

  • 自頂向下 設計
  • 自底向上 執行
  • 程式引擎 + 配置檔案 模式

體育競技分析

from random import random
def printIntro():
    print("這個程式模擬兩個選手A和B的某種競技比賽")
    print("程式執行需要A和B的能力值(以0到1之間的小數表示)")
def getInputs():
    a = eval(input("請輸入選手A的能力值(0-1): "))
    b = eval(input("請輸入選手B的能力值(0-1): "))
    n =
eval(input("模擬比賽的場次: ")) return a, b, n def simNGames(n, probA, probB): winsA, winsB = 0, 0 for i in range(n): scoreA, scoreB = simOneGame(probA, probB) if scoreA > scoreB: winsA += 1 else: winsB += 1 return winsA, winsB def gameOver(
a,b): return a==15 or b==15 def simOneGame(probA, probB): scoreA, scoreB = 0, 0 serving = "A" while not gameOver(scoreA, scoreB): if serving == "A": if random() < probA: scoreA += 1 else: serving="B" else: if
random() < probB: scoreB += 1 else: serving="A" return scoreA, scoreB def printSummary(winsA, winsB): n = winsA + winsB print("競技分析開始,共模擬{}場比賽".format(n)) print("選手A獲勝{}場比賽,佔比{:0.1%}".format(winsA, winsA/n)) print("選手B獲勝{}場比賽,佔比{:0.1%}".format(winsB, winsB/n)) def main(): printIntro() probA, probB, n = getInputs() winsA, winsB = simNGames(n, probA, probB) printSummary(winsA, winsB) main()

- Python第三方庫安裝