Ich habe ein Programm auf Python 3.4 gemacht, das dazu dient, zufällige Ziehungen unter gegebenen Fußballteams zu machen.Verschiedene Ifs, die immer den gleichen Code in Python bekommen 3.4
import random
modo = str(input("Sorteo o Simulación completa? "))
torneo = str(input("Torneo elegido: "))
fase = int(input("Número de equipos (en la fase a sortear): "))
def sorteo(x,y):
if x == "Champions" or "champions" or "shempions" or "Shempions" or "Uefa Champions League" and y == 32:
bombo1 = str(input("8 equipos del primer bombo: ")).split(",")
bombo2 = str(input("8 equipos del segundo bombo: ")).split(",")
bombo3 = str(input("8 equipos del tercer bombo: ")).split(",")
bombo4 = str(input("8 equipos del cuarto bombo: ")).split(",")
names = ["A","B","C","D","E","F","G","H"]
for i in range(8):
grupo = []
n = names[i]
first = random.choice(bombo1)
grupo.append(first)
bombo1.remove(first)
second = random.choice(bombo2)
grupo.append(second)
bombo2.remove(second)
third = random.choice(bombo3)
grupo.append(third)
bombo3.remove(third)
fourth = random.choice(bombo4)
grupo.append(fourth)
bombo4.remove(fourth)
print("Grupo " + str(n) + ": " + str(grupo))
return
if x == "Champions" or "champions" or "shempions" or "Shempions" or "Uefa Champions League" and y == 16:
primeros = str(input("8 equipos que quedaron primeros: ")).split(",")
segundos = str(input("8 equipos que quedaron segundos: ")).split(",")
for i in range(8):
n = i + 1
first = random.choice(primeros)
primeros.remove(first)
second = random.choice(segundos)
segundos.remove(second)
print("Cruce " + str(n) + ": " + str(first) + " VS " + str(second))
return
if x == "Champions" or "champions" or "shempions" or "Shempions" or "Uefa Champions League" and y == 8:
equipos_cuartos = str(input("8 equipos que pasaron a Cuartos: ")).split(",")
for i in range(4):
n = i + 1
first = random.choice(equipos_cuartos)
equipos_cuartos.remove(first)
second = random.choice(equipos_cuartos)
equipos_cuartos.remove(second)
print("Cruce " + str(n) + ": " + str(first) + " VS " + str(second))
return
if x == "Champions" or "champions" or "shempions" or "Shempions" or "Uefa Champions League" and y == 4:
equipos_semis = str(input("4 equipos que pasaron a Semis: ")).split(",")
for i in range(2):
n = i + 1
first = random.choice(equipos_semis)
equipos_semis.remove(first)
second = random.choice(equipos_semis)
equipos_semis.remove(second)
print("Cruce " + str(n) + ": " + str(first) + " VS " + str(second))
return
if modo == "Sorteo" or "sorteo":
sorteo(torneo,fase)
jedoch das Ergebnis ist immer das gleiche: Egal, die Menge des Teams, die ich auf „fase“ wählen: Es fragt mich immer für bombo1,2,3 und 4 Teams, wie ich es immer 32 Teams auswählen sich beteiligen. Und wenn ich das hier frage ist, weil ich mich gestern und heute verrückt gemacht habe, um das zu reparieren, denn dieses Problem taucht auf, wenn ich mehr als ein Turnier und eine Funktion einführe.
Mögliche Duplikat [Wie ich eine Variable gegen mehrere Werte testen?] (Http://stackoverflow.com/questions/15112125:
Wie bereits angedeutet, würde ich so etwas wie die folgenden verwenden/how-do-i-test-one-variable-gegen-multiple-values) –
Wenn du 'x ==" Champions "oder" Champions "tust, ist das nicht dasselbe wie' if x == "Champions" oder x == "champions", müssen Sie entweder "x" explizit für jede Option aktivieren oder den Operator "in" verwenden. –