Aprender a programar DESDE CERO (Parte 4) -- Leyendo datos por teclado
Nota: Antes de leer este post, se recomienda leer la tercera parte de este tutorial.
ACLARACIONES IMPORTANTES:
- En estos tutoriales no se abordan temáticas excesivamente profundas y no se hace énfasis en aprender muchos lenguajes de programación ni muchos frameworks. El objetivo es entender qué es programar y cuál es la lógica necesaria para hacerlo.
- No utilizo ningún libro o fuente externa para hacer estos tutoriales. Soy estudiante de cuarto año de Ingeniería en Sistemas, por lo que toda la información que doy acá ha sido extraída de mis clases en la universidad y de lo que he consultado por mis propios medios en ocasiones anteriores. En caso de utilizar conocimiento sacado de otras fuentes, haré claridad. Así mismo, para el caso de las imágenes, citaré la fuente en el caso de que no sean mías. Las imágenes que no aparecen con su fuente abajo son hechas por mí.
- Todos los códigos trabajados en este tutorial pueden ser consultados y descargados en el repositorio de GitHub creado para este fin.
¡Hola, gente de Steemit! Hoy continuamos con este curso básico de programación. En el anterior capítulo les mostré cómo mostrar mensajes en pantalla y empezamos a trabajar con variables. Si hay alguna duda respecto a esos dos temas, pueden dirigirse a ese capítulo. En esta ocasión, aprenderemos algo que es fundamental para todo programador y que nos permitirá hacer nuestros primeros programas prácticos: La lectura de datos por teclado. ¡Vamos!
![](https://steemitimages.com/640x0/https://cdn.steemitimages.com/DQmeHr8HA9oFDZfLqExsqGcxnTvje2VxRZiwvNRstGV4XqC/imagen.png)
Fuente
¿Por qué es importante saber leer datos?
En determinados contextos, la programación puede definirse como un método para crear sistemas informáticos. Detengámonos un poco en la palabra "SISTEMAS". Es un término que usamos muy a menudo, pero que en ocasiones ni siquiera sabemos explicar. En el contexto de la informática, un sistema se puede definir como un conjunto de partes relacionadas que tienen una entrada, un procesamiento, una salida y una retroalimentación (opcional). Esta definición se puede entender mejor con el siguiente gráfico:
![](https://steemitimages.com/640x0/https://cdn.steemitimages.com/DQmT3coQSSsyHe4VoMZnJz5G2JffHFGy73oqsT4b2wUUWFP/imagen.png)
Fuente
En el capítulo anterior empezamos aprendiendo a dar salidas para los sistemas que vamos a programar. Además, a través del manejo de variables estamos en la capacidad de hacer procesamiento de datos, pues con estas variables podemos efectuar una gran cantidad de modificaciones (como las operaciones matemáticas, por ejemplo). Pues bien, para completar nuestro primer sistema informático debemos aprender a darle entradas al mismo. Eso es justo lo que vamos a hacer hoy.
Leyendo números en Python
Python, como todo lenguaje de programación, tiene herramientas para leer y mostrar datos. Como ya sabemos (ver capítulo anterior), la función que se utiliza para mostrar datos en pantalla se llama print. Pues bien, Python tiene dos funciones para leer datos por teclado. En esta sección trabajaremos una de ellas: input()
La función input() sirve para leer datos numéricos por teclado. Estos datos incluyen todo el conjunto de los números reales (ojo, la programación lleva muchas matemáticas. A ESTUDIAR). Para usarla, es necesario asignarla a la variable que se quiere leer (con el ejemplo de código entenderán de manera sencilla lo que les acabo de decir). Además, dentro del paréntesis y entre comillas se puede poner un mensaje en el que se le indica al usuario que debe ingresar un dato. La siguiente es una línea de código que se puede usar para pedir un número por teclado:
a = input("Ingrese un número: ")
En el caso anterior, en la consola aparecerá el mensaje "Ingrese un número: " y se esperará a que el usuario ingrese el dato y aprete la tecla enter para continuar la ejecución del programa. Además, el dato ingresado por el usuario quedará guardado en la variable a. Veamos el código completo de un programa que simplemente solicita un número y luego lo muestra en pantalla:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
if __name__ == '__main__':
a = input("Ingrese un número: ")
print "Número ingresado: ", a
- NOTA: No se estresen con las dos primeras líneas de código. Simplemente se trata de un indicador que le dice al intérprete de python que codifique los caracteres en utf-8. Este sistema permite el procesamiento de tildes y la letra ñ. Como casi todos los lenguajes de programación fueron codificados en inglés, normalmente los intérpretes y compiladores no permiten el uso de tildes. Sin embargo, con estas dos líneas de código el intérprete de Python las acepta.
En el código anterior se le pide un número al usuario, el cual queda guardado en la variable a (como lo expliqué anteriormente). Además, con la función print se muestra el número ingresado. Noten que la función print puede mostrar varias cosas a la vez en una sola línea. En este caso estamos mostrando un mensaje (entre comillas) y luego el valor que hay almacenado en la variable a. Siempre que se haga esto, los mensajes y las variables deben estar separados por una coma (como en el código que les acabo de mostrar).
El código mostrado anteriormente puede ser consultado y descargado en el repositorio de Github del curso. Se encuentra en el archivo leerDatos.py
Primer programa práctico
Con la lectura de números por teclado es posible realizar nuestros primeros programas con utilidad práctica. En este caso, vamos a codificar un ejemplo sencillo: Un programa que, dado el radio de una circunferencia, permita calcular el área de la misma. Para hacer este programa es necesario saber dos cosas:
- La ecuación para hallar el área de una circunferencia es:
a = pi*r²
, en donde a es el área de la circunferencia, pi es la constante que representa la relación entre el perímetro de toda circunferencia y su radio, y r es el radio de la circunferencia (distancia entre el centro y uno de sus bordes).
- La constante pi es un número irracional, por lo que sus cifras decimales son infinitas. Python permite el manejo de este tipo de números, aunque siempre los aproxima a un número determinado de cifras decimales. Por esa razón, para esta implementación trabajaremos con 3.1416 como valor de pi aproximado a cuatro cifras decimales.
Veamos el código:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
if __name__ == '__main__':
pi = 3.1416
r = input("Ingrese el radio de la circunferencia: ")
a = pi*(r**2)
print "El área de la circunferencia es ", a
Analicemos el código anterior:
Primero se asigna el valor de pi a una variable. Como la creatividad sobra, decidí ponerle como nombre a esta variable "pi". Esta es una buena práctica: El nombre de las variables debe ser corto pero muy descriptivo. Con un solo vistazo le debe permitir al programador recordar de qué se trata.
Luego se le pide al usuario el valor del radio de la circunferencia y se guarda en la variable r.
A continuación, se hace la operación para hallar el área de la circunferencia con la fórmula explicada más arriba. El resultado de esta operación se almacena en la variable a.
Por último, se muestra el área calculada.
NOTA: El código mostrado anteriormente puede ser consultado y descargado en el repositorio de GitHub del curso. El archivo se llama circunferencia.py.
Leyendo texto
Es importante recordar que la función input() solamente sirve para leer datos numéricos por teclado. Si se quiere leer texto, es necesario utilizar otra función de Python: raw_input(). Su funcionamiento es muy similar al de la función input(). Este se ilustra en la siguiente línea de código:
nombre = raw_input("Ingrese su nombre: ")
En el caso anterior, el texto ingresado por el usuario quedará almacenado en la variable nombre. Teniendo en cuenta esto, es posible hacer un programa que le pida al usuario su nombre y su apellido, y que luego muestre en pantalla el nombre completo (nombre seguido del apellido). Veamos el código:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
if __name__ == '__main__':
nombre = raw_input("Ingrese su nombre: ")
apellido = raw_input("Ingrese su apellido: ")
print "Usted se llama ", nombre, " ", apellido
Sencillo, ¿no? Recordemos el uso de la función print para mostrar múltiples mensajes y variables explicado más arriba. Noten que en este caso estamos mostrando varios mensajes y variables a la vez. Por ejemplo, si yo ingreso Juan Camilo en el nombre y Rojas en el apellido, el programa me mostrará: Usted se llama Juan Camilo Rojas.
NOTA: El código mostrado anteriormente puede ser consultado y descargado en el repositorio de GitHub del curso. El archivo se llama ingresarStrings.py.
A practicar
Como en cualquier disciplina, en la programación la práctica hace al maestro. Por esa razón, de ahora en adelante, en cada post propondré algunos ejercicios útiles para practicar los conceptos aprendidos. Empecemos:
- Hacer un programa que pida por teclado la base y la altura de un triángulo, y que luego muestre su área.
- Hacer un programa que lea por teclado la medida del lado de un cuadrado y muestre su perímetro.
- Hacer un programa que lea 5 datos numéricos y calcule su promedio.
- Hacer un programa que lea el nombre del usuario y su edad. Teniendo en cuenta que estamos en el año 2018, le debe decir al usuario cuál es su nombre y en qué año nació.
Hasta aquí va la cuarta parte de este tutorial. Espero haber sido claro con las explicaciones y que la información haya sido útil. Si surgen dudas al respecto, las atenderé con gusto en los comentarios o en mi correo electrónico personal ([email protected]). Si les gustó el post, no olviden dar upvote y resteem. Nos reencontramos pronto.
Excelente explicación, Saludos
¡Gracias por leer! Espero que haya sido útil.
Excelente Tutorial :D
¡Gracias!
Muchas gracias por el apoyo.