Fundamentos de la programación (Python)
[M3] Entrada/salida de datos. Importar funciones desde módulos en Python
Las instrucciones
inputy
En este apartado veremos cómo utilizarlas, así como dar formato a los datos.
Entrada de datos
La forma más sencilla de obtener información por parte del usuario es mediante la función input.
Esta función muestra al usuario un mensaje o prompt y asigna a una variable una cadena (str) con los caracteres introducidos por el usuario. Ejemplo:
nombre = input('Como te llamas?')
print('Encantado ', nombre)
Si necesitamos otro tipo de datos como entrada en lugar de una cadena, deberemos utilizar una función de conversión. Ejemplo:
edad = int(input('Que edad tienes?'))
print('Tu edad es ', edad)
Salida de datos
Para mostrar un mensaje de salida utilizamos de la función print
La función print permite imprimir uno o varios valores o variables separados por comas. En este caso Python se encargaría de separar con un espacio en blanco los valores a imprimir. Ejemplo:
print('Hola', nombre, 'tienes', edad, 'anhos')
Las comillas triples permiten que una cadena de texto ocupe más de una línea:
print("""Esto es un texto
que ocupa
varias líneas""")
Otra forma de hacer esto, es utilizando caracteres especiales.
Caracteres especiales en Python
\n: Salto de línea. Ejemploprint("Linea1\nLínea2")\t: Tabulador. Ejemploprint("Item\tDefinicion")\": Comillas dobles. Ejemploprint("Ella dijo: \"Cómo estás?\"")\': Comillas dobles. Ejemploprint('Vivo enfrente de MacDonald \'s')
Cadenas f
Python posee una notación para cadenas llamada cadenas f que se reconoce porque comienzan por una letra f antes de las comillas de apertura. Las cadenas f permiten dar formato a las variables, siguiendo la sintaxis del método str.format(). Las cadenas f contienen las variables y expresiones entre llaves {} que se sustituyen directamente por su valor. Ejemplo:
numero = int(input("Escribe un numero mayor a 1000: ")) print(f"Tu numero dividido entre 100 y con un decimal se muestra asi: {round(numero/100, 1}")
La especificación completa de formatos se encuentran en el siguiente enlace.
Módulos
Un módulo es un fichero .py que alberga un conjunto de funciones reutilizables por cualquier otro módulo. Los módulos suelen contener funciones reutilizables, pero también pueden definir variables con datos simples o compuestos (listas, diccionarios, etc), o cualquier otro código válido en Python. A una colección de módulos generados con un propósito determinado se conoce como librería o biblioteca.
Para crear un módulo propio, simplemente creamos un nuevo archivo .py con el nombre del módulo, y después lo importamos usando el nombre del archivo Python (sin la extensión .py) usando el comando import.
Python posee una lista de módulos en su biblioteca estándar que contienen una gran cantidad de funcionalidades del lenguaje, y entre los cuales se pueden mencionar:
math: funciones matemáticas.random: trabajo con números aleatorios.datetime: manipulación de fechas y horas
Una lista de los módulos de Python se puede apreciar en el siguiente enlace
Importar un módulo
El siguiente ejemplo muestra como importar el módulo estandar math para posteriormente usar la función de raíz cuadrada.
import math
numero = int(input("Escribe un numero: "))
raiz = math.sqrt(numero)
print("La raiz cuadrada del numero es ", raiz)
En el ejemplo anterior, la función import, importaría todas las funciones del módulo math ocupando innecesariamente espacio en memoria. Podemos hacer un listado de todas las funciones de un módulo hacerlo mediante la función dir. Por ejemplo, si quisiéramos saber todas las funciones que tiene guardado el módulo math, podemos escribir lo siguiente:
import math
print(dir(math))
from [module] import
Como podemos apreciar el módulo math contiene bastantes funciones matemáticas, con lo cual es poco óptimo importarlo todo para utilizar tan solo unas pocas. Para ésto se utiliza la instrucción from [modulo] import. Con esta instrucción utilizaremos únicamente la función o funciones que utilizaremos en cada caso. Siguiendo el ejemplo anterior, lo reescribiríamos como se muestra a continuación:
from math import(sqrt)
numero = int(input("Escribe un numero: "))
raiz = sqrt(numero)
print("La raiz cuadrada del numero es ", raiz)
Si en lugar de indicar una función a importar, colocamos un *, Python importará todo lo que en el módulo math esté declarado como explícito. Ejemplo:
from math import *
Ejercicios
Haz un programa que le pida dos números enteros al usuario. Luego el programa deberá mostrar los siguiente mensajes:
- La suma de ambos números es: resultado
- La resta de ambos números es: resultado
- La multiplicación de ambos números es: resultado
- La división de ambos números es: resultado
Haz un programa que pide al usuario que introduzca 3 calificaciones y muestre su promedio por pantalla.
Haz un programa que calcule los litros de pintura necesarios para pintar una pared rectangular.
Un litro de pintura cubre aproximadamente, 12m2 en una sola mano. Tendrás que pedir al usuario:- El alto y ancho de la pared ( multiplicando sabrás el área de la misma )
- El número de manos a aplicar
-
Diseña un programa que le pida al usuario un radio y calcule el área de una circunferencia.
La fórmula del área de una circunferencia es:PI * radio2 Crea un programa que solicite la longitud de los tres lados de un triángulo y muestre por pantalla su perímetro y su área.
El área de un triángulo, utilizando su perímetro se realiza con la llamada fórmula de Heron.
Para un triangulo de lados a=3, b=4 y c=5 el perímetro es 12 (suma de sus lados), el semiperímetro (s) es 6 y el área es 6.