Phyton

Cerrado
Gmarquez
Message postés
1
Date d'inscription
sábado, 18 de octubre de 2014
Estatus
Miembro
Última intervención
sábado, 18 de octubre de 2014
- 18 oct 2014 a las 15:30
Buenos dias....
Tengo un detalle mi profesor me encargo en phyton sobre una historia de canibales y missioneros que tenian que pasar el rio entonces. al momento que ya programe todo ya me ejecuta bien pero al momento que pongo la opcion que selecciono no me responde nada solamente me vuelve a hacer la misma pregunta.. dejo el codigo

from pip.backwardcompat import raw_input

AC=3
AM=3
BC=0
BM=0
GANADOR=0
while GANADOR==0:
print ("tirada de ida \n")
print ("opcion: \n")
print ("1: (1 canibal, 0 missioneros) \n")
print ("2: (2 canibales, 0 missioneros) \n")
print ("3: (1 canibal, 1 missionero) \n")
print ("4: (0 canibales, 2 missioneros) \n")
print ("5: (0 canibales, 1 missionero) \n")
opcion_valida=0
while opcion_valida==0:
opcion=int(raw_input("cual es tu tirada?"))
if opcion==1:
AC=AC-1
BC=BC+1
opcion_valida=1
if AC < 0:
print ("Tirada invalida intente otra opcion \n")
AC=AC+1
BC=BC-1
opcion_valida=0
if opcion_valida==2:
AC=AC+2
BC=BC-2
opcion_valida=0
elif opcion_valida==3:
AC=AC-1
AM=AM-1
BC=BC+1
BM=BM+1
opcion_valida=1
if (AC < 0) or (AM<0):
print ("Tirada invalida intente otra opcion \n")
AC=AC+1
AM=AM+1
BC=BC-1
BM=BM-1
opcion_valida=0
elif opcion==4:
AM=AM-2
BM=BM+2
opcion_valida=1
if AM < 0:
print ("Tirada invalida intente otra opcion \n")
AM=AM+2
BM=BM-2
opcion_valida=0
elif opcion==5:
AM=AM-1
BM=BM+1
opcion_valida=1
if AM < 0:
print ("Tirada invalida intente otra opcion \n")
AM=AM+1
BM=BM-1
opcion_valida=0
print ("AM="),AM,("\n")
print ("AC="),AC,("\n")
print ("BM="),BM,("\n")
print ("BC="),BC,("\n")
if(((AC > AM) and (AM>0)) or ((BC>BM) and (BM>0))):
GANADOR = -1
elif BM==3 and BC==3:
GANADOR = 1
if GANADOR == 0:
print("Tirada de vuelta \n")
print("Opcion: \n")
print("1: (1 canibales, 0 missioneros) \n")
print("2 (2 canibales, 0 misioneros \n")
print("3 (1 canibales, 1 missionero) \n")
print("4 (0 canibales, 2 missioneros) \n")
print("5 (0 canibales, 1 missionero \n")
opcion_valida=0
while opcion_valida==0:
opcion=int(raw_input("cual es tu tirada?"))
if opcion==1:
AC=AC+1
BC=BC-1
opcion_valida=1
if BC < 0:
print ("tirada invalida intente otra opcion \n")
AC=AC-1
BC=BC+1
opcion_valida=0
elif opcion==2:
AC=AC+2
BC=BC-2
opcion_valida=1
if BC < 0:
print ("Tirada invalida intente otra opcion \n")
AC=AC-2
BC=BC+2
opcion_valida=0
elif opcion==3:
AC=AC+1
AM=AM+1
BC=BC-1
BM=BM-1
opcion_valida=1
if (BC < 0) or (BM< 0):
print ("Tirada invalida intente otra opcion \n")
AC=AC-1
AM=AM-1
BC=BC+1
BM=BM+1
opcion_valida=0
elif opcion==4:
AM=AM+2
BM=BM-2
opcion_valida=1
if BM < 0:
print ("Tirada invalida intente otra opcion \n")
AM=AM-2
BM=BM+2
opcion_valida=0
elif opcion==5:
AM=AM+1
BM=BM-1
opcion_valida=1
if BM < 0:
print ("Tirada invalida intente otra opcion \n")
AM=AM-1
BM=BM+1
opcion_valida=0
print ("AM="),AM("\n")
print ("AC="),AC("\n")
print ("BM="),BM("\n")
print ("BC="),BC("\n")
print ("Los canibales se comieron a los missioneros \n")
elif GANADOR == 1:
print ("Felicidades lograste pasar sin que te comieran esos canibales \n")








tirada de ida

opcion:

1: (1 canibal, 0 missioneros)

2: (2 canibales, 0 missioneros)

3: (1 canibal, 1 missionero)

4: (0 canibales, 2 missioneros)

5: (0 canibales, 1 missionero)

cual es tu tirada?2
cual es tu tirada?1
cual es tu tirada?

ahi al momento de decirle 2.... me tiene que decir si estoy bien o mal saben si el problema esta en el Raw_input? es lo que yo creo soy nuevo en programacion :S soy mas de redes pero llevo esta materia de cajon!