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 practica2.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. # # 3 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 primeras_tres_letras
recibe como argumento una cadena de caracteres palabra
. Devuelve una cadena con los tres primeros caracteres de palabra
convertidos a mayúsculas.
Pruebas:
>>> primeras_tres_letras('Python') 'PYT' >>> primeras_tres_letras('ingeniero') 'ING' >>> primeras_tres_letras('programa es fácil') 'PRO' >>> primeras_tres_letras('uno dos cinco') 'UNO' >>> isinstance(primeras_tres_letras('uno dos cinco'), str) True
La función iniciales
recibe como argumentos tres cadenas de caracteres que representan la información del nombre completo de una persona: nombre
, paterno
y materno
. Devuelve una cadena con las iniciales en mayúsculas de dicha persona. Las iniciales son el primer carácter de cada argumento.
Pruebas:
>>> iniciales('Benito Pablo', 'Juárez', 'García') 'BJG' >>> iniciales('Salma Valgarma', 'Hayek', 'Jiménez') 'SHJ' >>> iniciales('Andrés Manuel', 'López', 'Obrador') 'ALO' >>> iniciales('Tiabeanie Mariabeanie', ... 'de la Rochambeau', 'Grunkwitz') 'TDG' >>> iniciales('Octavio', 'Paz', 'Lozano') 'OPL' >>> isinstance(iniciales('Octavio', 'Paz', 'Lozano'), str) True
La función cuenta_no_espacios
recibe como argumento una cadena de caracteres frase
. Devuelve el número de caracteres contenidos en frase
que no son el carácter de espacio.
Pruebas:
>>> cuenta_no_espacios('uno dos') 6 >>> cuenta_no_espacios('Esta es una pequeña prueba.') 23 >>> cuenta_no_espacios('') 0 >>> cuenta_no_espacios('Hola') 4 >>> isinstance(cuenta_no_espacios('Hola'), int) True
Se quiere automatizar la creación de cuentas de usuario para el correo electrónico de una cierta compañía. La cuentas deben contener lo siguiente:
Adicionalmente, todas las letras de la cuenta del usuario deben estar en minúsculas.
Escribe la función cuenta_de_usuario
, la cual recibe como argumentos tres cadenas de caracteres que representan la información del nombre completo de un usuario: nombre
, paterno
y materno
. Devuelve una cadena con la cuenta de usuario según lo descrito anteriormente.
Pruebas:
>>> cuenta_de_usuario('Benito Pablo', 'Juárez', 'García') 'bjuárezg' >>> cuenta_de_usuario('Salma Valgarma', 'Hayek', 'Jiménez') 'shayekj' >>> cuenta_de_usuario('Andrés Manuel', 'López', 'Obrador') 'alópezo' >>> cuenta_de_usuario('Octavio', 'Paz', 'Lozano') 'opazl' >>> isinstance(cuenta_de_usuario('Oct', 'Paz', 'Loz'), str) True
Muchos sistemas informáticos requieren que los usuarios tecleen contraseñas como una medida de autenticación. Por seguridad no es bueno desplegar una contraseña directamente en la pantalla de la computadora. En lugar de ello se acostumbra desplegar una cadena en la que cada carácter de la contraseña se reemplaza por un asterisco.
Escribe una función llamada convierte_a_asteriscos
, la cual recibe como argumento una cadena de caracteres frase
. La función devuelve una cadena de caracteres del mismo tamaño que frase
pero conteniendo asteriscos exclusivamente.
Pruebas:
>>> convierte_a_asteriscos('hola') '****' >>> convierte_a_asteriscos('una pequeña prueba') '******************' >>> convierte_a_asteriscos('') '' >>> isinstance(convierte_a_asteriscos(''), str) True
La función cuenta_vocales
recibe como argumento una cadena de caracteres frase
. Devuelve el número de vocales contenidas en frase
. Puedes suponer que las vocales no están acentuadas (no tienen tilde), pero sí pueden venir en mayúsculas y/o minúsculas.
>>> cuenta_vocales('Abuelito') 5 >>> cuenta_vocales('¡HOLA mundo!') 4 >>> cuenta_vocales('Ms. Gsptlsnz') 0 >>> cuenta_vocales('') 0 >>> isinstance(cuenta_vocales(''), int) True
Todas tus funciones deben estar contenidas en el archivo practica2.py
.
Para entregar el archivo practica2.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: Martes, 3 de septiembre.