Programar Juegos Arcade
con Python y Pygame

Lab 9: Funciones

Escribe lo siguiente como un solo programa. Debería ejecutarse todo de seguido.

Este programa tiene varias partes. A continuación tienes una descripción de cada una de ellas:

  1. (5 pts) Escribe una función llamada min, que reciba tres números y que devuelva el menor de los tres. Si se repitiera algún valor, no importa, debe seguir devolviendo el más pequeño. Utiliza una cadena if/elif/else apropiada.Una vez que hayas acabado, copia/pega el siguiente código y comprueba que la función que te has creado, hace lo esperado:
    print(min(4, 7, 5))
    print(min(4, 5, 5))
    print(min(4, 4, 4))
    print(min(-2, -6, -100))
    print(min("Z", "B", "A"))
    

    Deberías obtener estos resultados:

    4
    4
    4
    -100
    A
    

    La función deberá devolver el valor, no imprimirlo. Aunque ya existe una función interna de Python llamada min, no la uses. Utiliza, por favor, declaraciones if para construirte tu propia función. Deja a la vista las declaraciones de prueba para que el instructor pueda verificar tu programa. Si es que obtienes un None imprimido, es probable que estés usando print en tu función, en lugar de return.

  2. (5 pts) Escribe una función llamada caja, la cual representará cajas según la altura y largo proporcionados a la función. Una vez que hayas acabado, copia/pega el siguiente código y comprueba que la función que te has creado hace lo esperado:
    caja(7,5)  # Representa una caja de 7 x 5
    print()   # Línea en blanco
    caja(3,2)  # Representa una caja de 3 x 2
    print()   # Línea en blanco
    caja(3,10) # Representa una caja de 2 x 10
    

    Deberías obtener estos resultados con el código de ejemplo:

    *****
    *****
    *****
    *****
    *****
    *****
    *****
    
    **
    **
    **
    
    **********
    **********
    **********
    

    Regresa al Capítulo 6 si te has olvidado cómo hacer esto.

  3. (5 pts) Escribe una función llamada encontrar, la cual tomará una lista de números, mi_lista, junto a un número, clave. Deberá buscar en esa lista el número contenido en clave. Cada vez que tu función encuentre el valor clave, imprimirá la posición de esa clave en el array. Deberás conjugar tres variables; una para la lista, otra para la clave y la última para la posición en la que te encuentras en la lista.

    Este código se parece al que vimos en el Capítulo 7, donde iterábamos a través de una lista usando las funciones range y len. Empieza con ese código y modifica la función print, de modo que muestre cada elemento junto con su posición. Luego, en lugar de solo imprimir cada número, añade una declaración if para que sólo se imprima el número que nos interesa.

    Copia/pega este código y compruébalo:

    mi_lista = [36, 31, 79, 96, 36, 91, 77, 33, 19, 3, 34, 12, 70, 12, 54, 98, 86, 11, 17, 17]
    
    encontrar(mi_lista, 12)
    encontrar(mi_lista, 91)
    encontrar(mi_lista, 80)
    

    ...comprueba estos resultados:

    Hemos encontrado un 12 en la posición 11
    Hemos encontrado un 12 en la posición 13
    Hemos encontrado un 91 en la posición 5
    

    Utiliza un bucle for junto con una variable índice y una función range. Dentro del bucle usa una declaración if. La función se puede escribir en unas cuatro líneas de código.

  4. Escribe un programa que contenga lo siguiente:
    • (15 pts, 5 por cada función) Funciones:
      • Escribe una función llamada crear_lista que reciba las dimensiones de la lista y que luego devuelva una lista con números aleatorios del 1-6. Por ejemplo; crear_lista(5) debería devolver 5 números aleatorios entre 1-6. (Recuerda que en el Capítulo 7 hay un código que muestra cómo hacer algo parecido; crear una lista a partir de 5 números introducidos por el usuario. Aquí, en lugar de preguntarle al usuario, necesitarás crear números aleatorios.)
        Para comprobar tu función, utiliza el siguiente código:
        mi_lista = crear_lista(5)
        print(mi_lista)
        
        Con ello deberías obtener cinco elementos aleatorios parecidos a estos:
        [2,5,1,6,3]
        
      • Escribe una función llamada contar_lista que tome como parámetros una lista y un número. La función deberá devolver el número de veces que el mencionado número aparece en la lista.
        Para comprobar tu función, utiliza el siguiente código:
        contar = contar_lista([1,2,3,3,3,4,2,1],3)
        print(contar)
        
        Con ello deberías obtener algo parecido a esto:
        3
        
      • Escribe una función llamada promedio_lista, que devuelva el promedio de la lista pasada como parámetro.
        Para comprobar tu función, utiliza el siguiente código:
        promedio = promedio_lista([1,2,3])
        print(promedio)
        
        Con ello deberías obtener algo parecido a esto:
        2
        
    • (10 pts) Bien , ahora que ya tienes las tres funciones anteriores, úsalas todas en un solo programa que:
      • Cree una lista de 10,000 números aleatorios entre 1 y 6. Esto debería ocuparte una sola línea de código (Usa la función creada anteriormente en el taller)
      • Imprima las veces que aparecen los números del 1 al 6. (Es decir, imprime las veces que el 1 aparece en esos 10,000 números. Lo mismo para 2-6.)
      • Imprima el promedio de esos 10,000 números aleatorios.

You are not logged in. Log in here and track your progress.