import random
import os, sys
if os.name == "posix":
var = "clear"
elif os.name == "ce" or os.name == "nt" or os.name == "dos":
var = "cls"
def ns(c):
while c!=("s") and c!=("n"):
print(chr(7));c=input("Escribe solo \'n\' o \'s\' según su opción: ")
return(c)
def OKI(n):
try:
n=int(n)
except:
n=OKI(input("Caracter no valido: "))
return n
def limites(n,MAX):
while n<0 or n>MAX:
n=OKI(input("ERROR: El número ha de estar entre 0 y"+str(" "+str(MAX)+": ")))
return n
def sing_plu(f):
if f>1:
co=("intentos")
else:
co=("intento")
return co
while True:
print("ADIVINA NUMERO-SUPER DESAFIO")
print("""En este juego el usuario ha de adivinar un número,escogido
al azar por la computadora, dentro de un rango determinado.""")
print("")
print("""ESCOJA EL NIVEL DE DIFICULTAD
NIVEL 1: ENTRE 0 Y 100
NIVEL 2: ENTRE 0 Y 1000
NIVEL 3: ENTRE 0 Y 10000
NIVEL 4: ENTRE 0 Y 100000""")
level=OKI(input("Escriba aquí su opción (de 1 a 4): "))
print("")
while level<1 or level>4:
level=OKI(input("Escriba un número comprendido entre 1 y 4: "))
MAX=10**(level+1)
Di=(" 0 y "+str(MAX))
numero_elegido=random.randint(0,MAX)
intentos=0
tu_numero=limites(OKI(input("Escribe un número comprendido entre"+Di+": ")),MAX)
diferencia=abs(tu_numero-numero_elegido)
num_anterior=tu_numero
intentos+=1
repes=1
while tu_numero!=numero_elegido:
tu_numero=(limites(OKI(input("Escribe un número comprendido entre"+Di+": ")),MAX))
if abs(tu_numero-numero_elegido)>0:
if tu_numero!=num_anterior:
if (abs(tu_numero-numero_elegido))<diferencia:
print("TE ESTAS ACERCANDO")
else:
print("TE ESTAS ALEJANDO")
repes=1
else:
repes+=1
print("HAS INTRODUCIDO EL MISMO NÚMERO",repes,"VECES SEGUIDAS")
diferencia=abs(tu_numero-numero_elegido)
num_anterior=tu_numero
intentos+=1
if intentos==(MAX/2):
print(("PERDISTE: Superaste el límite de intentos permitido para este nivel("+str(int((MAX/2)))+" intentos)."),(chr(7)))
print("La solución era",numero_elegido)
break
if tu_numero==numero_elegido:
print("¡BINGO!")
print("Lo lograste en",intentos,sing_plu(intentos))
conti=ns(input("¿Jugar otra vez?(n/s): "))
if conti==("n"):
break
os.system(var)
Comentarios sobre la versión: 1.0 (0)
No hay comentarios