3 dic 2010

Número aleatorio en Python

Este programa que hice fue a partir de un juego un poco más complejo, que te hace elegir un número entero, el que tu quieras, y la computadora elige otro aleatoriamente.

Estos dos números se suman, y si el número sumado es par, el usuario será el ganador, en caso contrario será la computadora quien habrá ganado.

El código.

#!/usr/bin/python

import random

numero = input("Escribe tu numero >> ")
cpu = random.choice(range(10))

valor = cpu + numero

print "\nEl numero elegido por la computaora es", cpu
print "La suma de los numeros es", valor

if (valor % 2 == 0):
    print "\nEs par - Has ganado"
else:
    print "\nEs impar - Perdiste, gana la computadora"

Explicación.

#!/usr/bin/python
La ruta donde se encuentra nuestro intérprete, la podemos buscar con which python.

import random
Agregamos la Liberia random que nos permitirá obtener números aleatorios.

numero = input("Escribe tu numero >> ")
Recibimos el número elegido por el usuario, almacenado en la variable número.

cpu = random.choice(range(10))
Obtenemos un número aleatorio que sea menor a 10, y lo almacenamos en la variable cpu.

valor = cpu + numero
Sumamos estos dos números para obtener el valor que veremos si es par o no.

print "\nEl numero elegido por la computaora es", cpu
print "La suma de los numeros es", valor

Mostramos el número aleatorio elegido por la computadora y la suma de los dos números.

if (valor % 2 == 0):
print "\nEs par - Has ganado"

Para saber si es par o no, obtenemos el módulo de dos, si el resultado de esto es cero, significa que si es par, y mostramos que ganó.

else:
print "\nEs impar - Perdiste, gana la computadora"

En caso contrario de que no se cumpla la condición anterior, es decir, que no fue par, mostramos que perdio.

Veamos una imagen de su ejecución.


Enlace: Obtener números pseudo aleatorios en Python

9 comentarios:

  1. gracia por el aporte solo quisiera saber como podria hacer un programa que me pida el total de numeros a generar y si se puede hacer sin necesidad de usar el for es decir si lo puedo realizar con el while y como se realizaria

    ResponderEliminar
    Respuestas
    1. No me quedo muy claro que es lo que querías hacer, pero hice esto rápido, no se si aún te sirva...

      #!/usr/bin/python
      import random
      veces = input("Numero de veces: ")
      contador = 1
      while (veces >= contador):
      aleatorio = random.choice(range(10))
      print "Numero generado", aleatorio
      contador += 1

      Eliminar
  2. hola quetal tengo solucionar esto: generar un valor aleatorio entre -10 y10 y decir si el valor ingresado es negativo positivo o cero.... gracias!!!

    ResponderEliminar
  3. Se desea generar numeros N aleatorios entre 1 y X, se espera que X sea una constante, y imprima los numeros generados en pantalla.

    ResponderEliminar
  4. Algien que me resuelva este problema le agradeceria mucho...
    Soy novato..

    import random

    millas_recorridas = 0
    pregunta = float(input("Numero? "))
    if pregunta == 3:
    millas_recorridas = random.randrange(10,21)
    print("Millas recorridas ",millas_recorridas)
    #Sale asi =
    #Numero? 3
    #('Millas recorridas ', 16)
    #Quiero que salga asi =
    #Millas recorridas 16

    ResponderEliminar
    Respuestas
    1. Ahi puse las separaciones...

      import random

      millas_recorridas = 0
      pregunta = float(input("Numero? "))
      if pregunta == 3:
      ----millas_recorridas = random.randrange(10,21)
      ----print("Millas recorridas ",millas_recorridas)
      #Sale asi =
      #Numero? 3
      #('Millas recorridas ', 16)
      #Quiero que salga asi =
      #Millas recorridas 16

      Eliminar
    2. modifica la línea de tu print por:
      print 'Millas recorridas', millas_recorridas
      o
      print 'Millas recorridas %f' % millas_recorridas

      Eliminar
    3. Pense que no me iban a responder jajaja
      gracias me funciono bien, soy novato y estoy aprendiendo a hacer juegos :D
      Muchas gracias..

      Eliminar