Buenas, pues estoy aprendiendo a programar en Python y he intentado hacer un juego que consiste en lo siguiente:
Tú das un intervalo y tienes que intentar adivinar el número con 4 intentos. (Para que no sea tan difícil te va diciendo si el número que tienes que adivinaf es mayor o menor del que has dicho)
EDIT: Tengo problemas al poner el código en el post porque no se guardan bien algunos espacios, por lo que aquí pongo un archivo .txt por si lo quereis probar. De todas formas voy a dejar el código para que, aunque no esté bien del todo, se pueda ver sin que haga falta descargarlo.
ENLACE:
Aquí va el código:
EDIT 2: Como me aburría un poco, le he puesto que ahora puedes elegir manualmente el número de intentos. Además cada vez que fallas te va mostrando el número de intentos que te quedan
cont es el número de intentos
La x es el número que genera al azar la máquina
La f es el primer número del intervalo
La g es el segundo número del intervalo
La n es el número que da el usuario
¿Qué os parece? El caso es que me ha salido largo de cojones y me preguntaba si se puede hacer más eficiente o si tiene algún fallo. Alguien sabe?
Tú das un intervalo y tienes que intentar adivinar el número con 4 intentos. (Para que no sea tan difícil te va diciendo si el número que tienes que adivinaf es mayor o menor del que has dicho)
EDIT: Tengo problemas al poner el código en el post porque no se guardan bien algunos espacios, por lo que aquí pongo un archivo .txt por si lo quereis probar. De todas formas voy a dejar el código para que, aunque no esté bien del todo, se pueda ver sin que haga falta descargarlo.
ENLACE:
Para ver el contenido debes estar registrado.
Aquí va el código:
Python:
import random
n=0
print("Hola! Vamos a jugar a un juego. Yo tengo pensado un número al azar entre un intervalo que me digas y tienes que adivinarlo. Tienes los intentos que elijas!")
print()
cont=int(input("Primero dime el número de intentos: "))
f=int(input("Dime el primer número del intervalo: "))
print()
g= int(input("Dime el segundo número del intervalo: "))
print()
while f>g:
print("Error. El segundo número debe de ser mayor que el primero")
print()
g=int(input("Vuelve a decirme el segundo número: "))
print()
x=random.randint(f,g)
while n!=x and cont>0:
n=int(input("Dime el número que crees que he pensado: "))
print()
if f>n or n>g:
print("Error. Selecciona un número que esté dentro del intervalo.")
print()
if f<=n and n<=g:
if n<x:
print("Has fallado")
print()
print("Pista: Es un número mayor")
cont=cont-1
if cont ==1:
print("Te queda 1 intento")
if cont ==0:
print("Te has quedado sin intentos")
else:
print("Te quedan "+ str(cont)+ " intentos")
print()
elif n>x:
print("Has fallado")
print("Pista:Es un número menor")
cont=cont-1
if cont ==1:
print("Te queda 1 intento")
if cont ==0:
print("Te has quedado sin intentos")
else:
print("Te quedan "+ str(cont)+ " intentos")
print()
if n==x:
print("Has ganado, enhorabuena!")
else:
print("Has fallado. El número era "+ str(x))
cont es el número de intentos
La x es el número que genera al azar la máquina
La f es el primer número del intervalo
La g es el segundo número del intervalo
La n es el número que da el usuario
¿Qué os parece? El caso es que me ha salido largo de cojones y me preguntaba si se puede hacer más eficiente o si tiene algún fallo. Alguien sabe?
Última edición: