lunes, 24 de septiembre de 2018

Adivina el número secreto en Python

Reto: Adivina el número secreto

Se genera un número aleatorio entero entre 1 y 100. El usuario debe adivinar el número secreto, diciendo en cada tirada si es mayor o menor.




Método 1

Importamos la librería random para generar el número aleatorio secreto n. Preguntamos al usuario por el primer número. Se añade int antes del input para convertir su respuesta en un número entero, ya que si esto no se hace se capturaría un string. Nos metemos en un bucle de tipo while donde la condición analiza si el número proporcionado por el usuario es distinto del número secreto. Dentro de bucle creamos un condicional if para el caso en que el número sea mayor o bien sea menor que el número secreto. En cada caso informamos al usuario con un mensaje donde se le pide que de otro número. Fuera del bucle tenemos una última línea de código que imprime un mensaje donde se felicita al usuario por haber adivinado el número secreto n.

import random
n=random.randrange(1,100)
nu=int(input('Dime el número que crees que he elegido: '))
while nu!=n:
    if nu>n:
        nu=int(input('El número es mas pequeño'))
    elif nu<n:
        nu=int(input('El número es mas grande'))
print('Felicidades has adivinado que el número secreto es:',n)


Método 2

En este método hemos añadido un contador c para ir anotando las tiradas que se realizan y al final informar al usuario sobre el número de tiradas necesarias hasta que ha adivinado el número secreto.



import random
n=random.randrange(1,100)
nu=int(input('Dime el número que crees que he elegido '))
c=1
while nu!=n:
  c+=1
  if nu>n:
      nu=int(input('El número es mas pequeño'))
  elif nu<n:
      nu=int(input('El número es mas grande'))
print('Felicidades has adivinado que el número secreto es:',n)
print('Y lo has adivinado en',c,'intentos.')

No hay comentarios:

Publicar un comentario