Durante esta actividad, los alumnos serán capaces de:
NOTA: La siguiente actividad se puede realizar de manera individual o en parejas.
Crea un archivo fuente llamado practica3.py
.
Coloca en la parte superior de este archivo el siguiente comentario reemplazando los datos ficticios con tus datos personales (matrícula y nombre):
# Autores: # A01166611 Pepper Pots # A01160611 Anthony Stark # # Descripción de la práctica. # # 6 de septiembre, 2019. . . (El resto del programa va aquí) .
En este mismo archivo escribe en Python las funciones que se describen a continuación. Cada función debe incluir al inicio una cadena de documentación que describa brevemente el comportamiento de la función seguido de todos los casos de prueba indicados en la descripción del problema. Por ejemplo:
def raiz_cuadrada_entera(n): """ Devuelve la raíz cuadrada entera de n. >>> raiz_cuadrada_entera(4) 2 >>> raiz_cuadrada_entera(20) 4 >>> raiz_cuadrada_entera(70) 8 >>> raiz_cuadrada_entera(0) 0 >>> isinstance(raiz_cuadrada_entera(0), int) True """ raiz_cuadrada = n ** 0.5 truncado = int(raiz_cuadrada) return truncado
Coloca al final del archivo y una sola vez el siguiente código con el fin de que las pruebas se ejecuten de manera automática al momento de correr el programa:
if __name__ == '__main__': import doctest doctest.testmod()
La función incrementa
recibe como argumento un número n
. Devuelve una tupla conformada por cuatro números: n
seguido de n
más uno, seguido de n
más dos, seguido de n
más tres.
Pruebas:
>>> incrementa(1) (1, 2, 3, 4) >>> incrementa(100) (100, 101, 102, 103) >>> incrementa(8.2) (8.2, 9.2, 10.2, 11.2) >>> incrementa(-5) (-5, -4, -3, -2) >>> isinstance(incrementa(5), tuple) True
La función raices
recibe como argumentos tres valores numéricos: a
, b
y c
, los cuales corresponden a los coeficientes de una ecuación cuadrática del tipo:
La función devuelve una tupla con los dos posibles valores de \(x\) usando la fórmula general para resolver ecuaciones de segundo grado:
$$ x=\frac{-b\pm \sqrt{b^2-4ac}}{2a} $$
TIP: \(\sqrt{w}\) se puede calcular en Python como: w ** 0.5
Pruebas:
>>> raices(2, 4, 2) (-1.0, -1.0) >>> raices(1, 0, 0) (0.0, 0.0) >>> raices(4, 5, 1) (-0.25, -1.0) >>> raices(1, -4, 1.75) (3.5, 0.5) >>> isinstance(raices(1, -4, 1.75), tuple) True
La función tripifica
recibe como argumento una tupla tup
con al menos 3 elementos. Devuelve una tupla donde el primer elemento de tup
aparece una vez, el segundo elemento aparece dos veces, y el tercer elemento aparece tres veces.
Pruebas:
>>> tripifica((1, 2, 3)) (1, 2, 2, 3, 3, 3) >>> tripifica(('a', 'b', 'c', 'd', 'e')) ('a', 'b', 'b', 'c', 'c', 'c') >>> tripifica(((1, 2), (3, 4), (5, 6), (7, 8))) ((1, 2), (3, 4), (3, 4), (5, 6), (5, 6), (5, 6)) >>> isinstance(tripifica((1, 2, 3)), tuple) True
La función divide_palabra
recibe como argumento una cadena de caracteres palabra
. Devuelve una tupla con dos cadenas que corresponden a palabra
dividida a la mitad. Si la longitud de palabra
es impar, la mitad más corta debe venir primero y luego la mitad más larga.
Pruebas:
>>> divide_palabra('Python') ('Pyt', 'hon') >>> divide_palabra('equis') ('eq', 'uis') >>> divide_palabra('parangaricutirimicuaro') ('parangaricu', 'tirimicuaro') >>> divide_palabra('la') ('l', 'a') >>> divide_palabra('x') ('', 'x') >>> divide_palabra('') ('', '') >>> isinstance(divide_palabra('la'), tuple) True
Todas tus funciones deben estar contenidas en el archivo practica3.py
.
Para entregar el archivo practica3.py
, ingresa los siguientes datos:
Si la práctica fue desarrollada por un equipo de dos personas, basta que una persona la entregue.
Fecha límite: Viernes, 6 de septiembre.