# para ejecutar #python3 toro_vaca.py #hshah@roshka.com #Funcion para validar el numero ingresado tanto para el jugador A como para el jugador B def numero_valido(numero): #Verifica que el valor de entrada sea un valor valido if(not numero.isdigit()): print("Entrada con dato incorrecto") return False #verifica que el numero sea de 4 cifras elif ((int(numero) < 1000 or int(numero) > 9999)): print("El numero debe tener 4 digitos, ingrese de nuevo") return False #verifica que el numero no tenga valores repetidos #el tipo set es una clase que elimina los elementos repetidos en un cojunto else: if ( not (len(numero)==len(set(numero)))): print("El numero no debe tener digitos repetidos, ingrese de nuevo") return False return True numero = (input("Ingrese el numero a adivinar: ")) # Verifica si es valido el numero si no lo es se debe volver a introducir el numero lista=[] while(not numero_valido(numero)): numero = (input("Ingrese el numero a adivinar: ")) vacas=0 toros=0 intentos=0 while(intentos<=12): intentos=intentos+1#contador de intentos #si el intento es mas de 12 gana el jugador A y termina el programa if(intentos==13): print ("FIN DEL JUEGO - GANĂ“ A") break #se ingrese el numero elegido por el jugador B print("Intento B ",intentos,": ",end=" ") numero_B=input() #se valida el numero elegido por el jugador B while(not numero_valido(numero_B)): numero_B = (input("Ingrese numero del jugador B: ")) #compara los digitos con sus respectivas posiciones para contar la cantidad de toros lista.append(numero) for i in range(4): if(numero[i]==numero_B[i]): toros=toros+1 #compara los digitos de numero y numero_B para contar la cantidad de vacas for i in range(4): for j in range(4): if (numero[i]==numero_B[j] and numero[j]!=numero_B[j]): vacas=vacas+1 #va imprimiendo los resultados en pantalla print("RESPUESTA A: ",toros," TOROS, ", vacas," VACAS") #si el numero elegido por B es igual al numero elegido por A antes de pasar los 12 intentos,entonces gana B if(numero==numero_B): print ("FIN DEL JUEGO - GANĂ“ B en ",intentos," INTENTOS") break toros=0 vacas=0