try-except函數使用


本文為上一個比賽規則的函數測試

利用try-except函數測試是否函數錯誤

 1 def gameOver(a,b):
 2     if (a>=25 and abs(a-b)>=2 )or(b>=25 and abs(a-b)>=2):
 3         return True
 4     else:
 5         return False
 6     ai=[]
 7     bi=[]
 8     try:
 9         for a,b in ((25,25),(26,25),(27,26),(29,25)):
10             if gameOver(a,b):
11                 ai.append(a)
12                 bi.append(b)
13     except:
14         print('Error')
15     print(ai)
16     print(bi)

這里是先對gameover函數判斷測試

  出來的結果是無錯誤(比分都屬於正常比分,其中一隊大於等於25並且領先另一隊2分獲勝)

 1 try:
 2     probA,probB=0.5,0.5
 3     scoreA,scoreB=0,0
 4     serving = "A"
 5     if serving == "A":
 6         if random() < probA:
 7             scoreA += 1
 8         else:
 9             serving="B"
10     else:
11         if random() < probB:
12             scoreB += 1
13         else:
14             serving="A"
15     print(scoreA) 
16     print(scoreB)
17 except:
18     print('Error')

這里是對修改后的(因為懶得多次輸入參數)simOneGame(proA,proB)函數進行測試

  發現也沒有錯誤的對局比分出現,其結果為24,26(結果不唯一)

 1 try:
 2     n,scoreA,scoreB=1,24,26
 3     winsA, winsB = 0, 0
 4     scoreA_ls=[]
 5     scoreB_ls=[]
 6     for i in range(n):
 7         scoreA_ls.append(scoreA)
 8         scoreB_ls.append(scoreB)
 9         if scoreA > scoreB:
10             winsA += 1
11         else:
12             winsB += 1
13     print(winsA, winsB,scoreA_ls,scoreB_ls)
14 except:
15     print('Error')

 

這里是對simNGames(n, probA, probB)進行測試,函數結果為隊伍贏得局數

  運行后為0,1,[24],[26]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM