Logo Python Fundamentos de la programación (Python)

[M3] Entrada/salida de datos. Importar funciones desde módulos en Python

Las instrucciones input y print permiten comunicar Python con el usuario.
En este apartado veremos cómo utilizarlas, así como dar formato a los datos.

Contenido

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

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:

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

  1. 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
  2. Haz un programa que pide al usuario que introduzca 3 calificaciones y muestre su promedio por pantalla.

  3. 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
    Muestra en pantalla los litros de pintura a utilizar.

  4. 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

  5. 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.

    Fórmula de Heron