我在Python 3.4上做了一個程序,目的是在給定的足球隊中進行隨機抽籤。不同的ifs在Python 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)
但是,結果總是相同的:無論我在「FASE」選擇球隊的量:它總是問我bombo1,2,3和4支球隊,就像我始終選擇32隊參加。如果我在這裏問這是因爲我昨天和今天整個瘋狂的瘋狂,以便修復這個問題,因爲當我引入多個比賽和功能也出現這個問題。
可能的複製[如何測試對多值一個變量?(http://stackoverflow.com/questions/15112125/how-do-i-test-one-variable-against-multiple-values) –
當你做'x =='冠軍'或'冠軍'時'它不同於'如果x ==冠軍「或x ==「冠軍」,你需要明確地檢查每一個「x」或使用'in'運算符。 –