Programar Juegos Arcade
con Python y PygameLab 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:
- (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.
- (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.
- (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.
- 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
- 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.)
- (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.
- (15 pts, 5 por cada función) Funciones:
You are not logged in. Log in here and track your progress.
English version by Paul Vincent Craven
Spanish version by Antonio Rodríguez Verdugo
Russian version by Vladimir Slav
Turkish version by Güray Yildirim
Portuguese version by Armando Marques Sobrinho and Tati Carvalho
Dutch version by Frank Waegeman
Hungarian version by Nagy Attila
Finnish version by Jouko Järvenpää
French version by Franco Rossi
Korean version by Kim Zeung-Il
Chinese version by Kai Lin