1 # partido de bádminton predicción 2 de Random importación Random 3. DEF printTips (): . 4 Imprimir ( " I Identificación del Estudiante: 2.019.310.143.143 " ) 5. Imprimir ( " dos sencillos Este programa simula partido de tenis, la segunda ronda de clasificación del juego " ) 6 print ( " Cada ronda toma siete entradas y cuatro victorias " ) 7 print ( "El programa requiere el valor de habilidad de cada concursante (expresado como un decimal entre 0 y 1) " ) 8 def getInputs (): 9 a = eval (input ( " Ingrese el valor de habilidad del jugador A (0-1): ")) 10 b = eval (input ( " Ingrese el valor de habilidad del jugador B (0-1): " )) 11 c = eval (input ( " ingrese el valor de habilidad del jugador C (0-1): " )) 12 d = eval (input ( " Ingrese el valor de habilidad del jugador D (0-1): " )) 13 devuelva a, b, c, d 14 def ModelNGames (powerA, powerB): # 7 juegos y 4 victorias 15 winsA, winsB = 0, 0 16 para i en el rango (7 ): 17 scoreA, scoreB = ModelOneGame (powerA, powerB) 18 si scoreA>scoreB: . 19 . Winsa + = 1 20 es la otra cosa : 21 es winsB + = 1. 22 es retorno Winsa, winsB 23 es DEF gameover (A, B): # determina la carrera de victoria entradas 24 IF a> 10 o b> 10 : 25 IF ABS ( AB &)> 1. : 26 es devolver Verdadero 27 de la otra : 28 de retorno Falso 29 DEF Juez (Winsa, winsB): # determina una victoria del juego 30 SI . Winsa> = 4 o . winsB> = 4: 31 return True 32 else : 33 return False 34 def ModelOneGame (powerA, powerB): # 一 局 比赛 35 scoreA, scoreB = 0, 0 36 serve = " A " 37 mientras no está GameOver (scoreA, scoreB): 38 si sirve == " A " : 39 si es aleatorio () < potencia A: 40 puntaje A + = 1 41 más : 42 = Sirviendo " B " 43 es la otra cosa : 44 es SI Random () < Powerb: 45 . ScoreB 1 = + 46 es la otra cosa : 47 Porción = " A " 48 de retorno scoreA, scoreB 49 DEF printResult1 (Winsa, winsB): # La primera ronda primera Resultado de campo 50 si gana A> gana B: 51 print ( "El puntaje de A y B es {}: {}, el jugador A gana, la promoción es exitosa " .formato ( gana A, gana B)) 52 más : 53 Imprimir ( " A} y {la puntuación B es: {}, los jugadores B ganan éxito la promoción " .formato (Winsa, winsB)) 54 es DEF printResult2 (Winsa, winsB): # resultado de la primera ronda de la segunda del 55 SI Winsa > winsB: 56 print ( "El puntaje de C y D es {}: {}, el jugador C gana y avanza con éxito " .format (winsA, winsB)) 57 más : 58 print ( "El puntaje de C y D es {}: {} , los jugadores ganan D éxito la promoción " .formato (Winsa, winsB)) 59 DEF printResult3 (WINSE, winsF, ganador): # salidas de dos resultados 60 SI WINSE> winsF: 61 es print ( "La puntuación es {}: {}, el jugador {} ganó el campeonato " .format (winsE, winsF, ganador)) 62 más : 63 print ( "La puntuación es {}: {}, el jugador {} ganó el campeonato " .format (winsE, winsF, ganador)) 64 def main (): 65 printTips () 66 powerA, powerB, powerC, powerD = getInputs () 67 winsA, winsB = ModelNGames (powerA, powerB) 68 printResult1 (winsA, winsB) 69 winsC , winsD = ModelNGames (powerC, powerD) 70 printResult2 (winsC, winsD) 71 E =max (Winsa, winsB) 72 F. = max (winsC, winsD) 73 es PowerE, powerf = 0,0 74 SI E == Winsa y F. == winsC: # capacidad de encontrar dos valores de corte 75 PowerE = PowerA 76 powerf = POWERC 77 elif e == winsB y F. == winsC: 78 powerE = Powerb 79 powerf = POWERC 80 elif e == Winsa y F. == winsD: 81 powerE = PowerA 82 powerF = powerD 83 elif E == winsB y F == winsD: 84 powerE = powerB 85 powerF = powerD 86 winsE, winsF = ModelNGames (powerE, powerF) 87 si winsE> winsF: # 找到 冠军 88 si powerE == powerA: 89 ganador = ' A ' 90 más : 91 ganador = ' B ' 92 más : 93 si powerF ==powerC: 94 ganador = ' C ' 95 más : 96 ganador = ' D ' 97 printResult3 (winsE, winsF, ganador) 98 main ()
Nota: Este código solo es adecuado para la promoción de dos dobles individuales (A y B, C y D), puede juzgar al campeón.