Python - Tutorial #2

Variables, operadores básicos, entradas, y salidas

Python es uno de los lenguajes de programación más populares de la actualidad y muy utilizado en diferentes áreas de trabajo, desde software, el desarrollo web, la analítica de datos hasta desarrollo de juegos, IoT y más. Este tutorial es una introducción a Python, la sintaxis y las funcionalidades básicas del lenguaje.

Para ser un programador hay que programar, es una de esas habilidades que solo se desarrollan con la práctica constante. Este tutorial aborda unas características de Python desde la resolución de un problema real.

Esta publicación aborda conceptos básicos de entrada de datos, variables (tipos básicos), operaciones aritméticas simples y salida de datos.

Caso planteado

El contexto

En Colombia trabajador se puede vincular a una organización mediante un contrato de trabajo o mediante un contrato de servicios, y para este ejercicio nos centraremos en el segundo.

En el contrato de servicios se caracteriza por tener objeto que se debe desarrollar o un servicio que se debe prestar (Ejemplo: desarrollar una página web), y en el cual el contratista tiene cierta libertad para ejecutarlo por cuanto no está sometido a la continuada y completa subordinación (Ejemplo: no se requiere cumplir horario), aunque se precisan los compromisos.

En un contrato de prestación de servicios; el pago de la seguridad social es responsabilidad del contratista, el contratista debe afiliarse y pagar la seguridad social por su cuenta.

El problema

Escribir un programa en Python que le permita a un usuario calcular el neto el mensual obtenido por la prestación de un servicio luego de pagar todos los compromisos de ley requeridos, como lo son la seguridad social y los riesgos profesionales.

Para esto se tiene los siguientes pagos obligatorios: sobre el 40% de su salario mensual realice las siguientes operaciones,

  • Pago al sistema de salud 12.5%
  • Pago al sistema pensional 16%
  • Pago al sistema de riesgos profesionales 0.522%

Nota: Para efectos del ejercicio se han simplificado algunos cálculos e ignorado algunos casos.

Ejemplo

Para un salario de $2.000.000 de pesos colombianos, se tienen los siguientes descuentos:

  • Pago al sistema de salud $100.000 COP
  • Pago al sistema pensional $128.000 COP
  • Pago al sistema de riesgos profesionales $4.176 COP

Por lo tanto, un contratista con un salario de $2.000.000 de COP recibe un neto de $1.767.824 COP.

Sintaxis básica de Python

La metodología de este tutorial es desarrollar un programa que solucione el problema planteado en la sección anterior, ejecute su editor de preferencia (Tutorial VSCode para Python).

Modo interactivo de Python

Python ofrece una interfaz de línea de comandos, llamada Python Interactive Shell. Con el intérprete interactivo de Python es fácil verificar instrucciones, operaciones y funciones de Python. El intérprete de Python se puede invocar escribiendo el comando Python en el shell de su sistema operativo.

IDLE es el entorno de desarrollo integrado para Python. Su nombre se basa en el acrónimo de entorno de desarrollo integrado. IDLE combina un intérprete interactivo con herramientas de edición y depuración de código para brindarle una compra integral en lo que respecta a la creación de código Python. Las diversas herramientas de IDLE lo convierten en un lugar atractivo para comenzar mientras aprende Python.

Independientemente de cómo acceda al modo interactivo de Python, debería ver un mensaje que consta de tres llaves angulares: >>>. Este es el símbolo del sistema de Python e indica que puede escribir un comando para ejecutar o una expresión para evaluar.

Variables

En Python, las variables son nombres a los que se les puede asignar un valor y esos nombres se usan en todo el programa para realizar diferentes operaciones. Las variables son contenedores que nos permiten guardar diferentes tipos de datos o información en un programa.

Las variables mantienen los valores accesibles, el resultado de una operación que se puede asignar a una variable para que no sea necesario realizar la operación cada se requiera dicho valor. Además, las variables dan contexto a los valores; un número puede significar muchas cosas, como el número de seguidores en Instagram o el valor de un producto en la tienda de Amazon. Asignarle un nombre a un valor, ejemplo, cantidad_seguidores o precio_producto le brinda semántica a los datos en un programa.

El operador de asignación

Los valores se asignan a una variable mediante el operador = llamado operador de asignación.

Sintaxis del operador de asignación

mi_variable = valor

Ejemplo: variables numéricas

mi_numero = 50
mis_seguidores = 500
mi_saldo_bancario = 1000.5

Ejemplo: una variable tipo cadena de caracteres

mi_cadena = "Esta variable contiene una cadena de caracteres"

Otro ejemplo:

>>> mi_cadena = "Hola, Python"
>>> print(mi_cadena)
Hola, Python

Los nombres de las variables distinguen entre mayúsculas y minúsculas, por lo que una variable denominada mi_cadena es distinta de una variable denominada Mi_Cadena. Por ejemplo, el siguiente código produce un NameError:

>>> mi_cadena = "Hola, Python"
>>> print(Mi_Cadena)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'Mi_Cadena' is not defined

Los nombres de variables pueden ser tan largos o cortos como desee, pero hay un par de reglas que debe seguir. Los nombres de las variables solo pueden contener letras mayúsculas y minúsculas (A Z, a – z), dígitos (0–9) y guiones bajos (_). Sin embargo, los nombres de las variables no pueden comenzar con un dígito.

Tipos de datos básicos en Python

Python tiene varios tipos de datos básicos, como números enteros, flotantes, números complejos, cadenas, listas, tuplas, diccionarios y objetos. Estos pueden manipularse utilizando operadores de lenguaje, funciones integradas, funciones de biblioteca o métodos propios de un tipo de datos.

Los cuatro tipos de números de Python son enteros, flotantes, números complejos y booleanos. En esta primera aproximación a Python analizaremos solo dos, enteros y flotantes.

TipoNombre en PythonEjemplos
Enteroint1, –5, 50, 555, 100000, –999999
Flotante o Decimalfloat3.0, 2e10, –3e-5

Las cadenas de caracteres es uno de los puntos fuertes de Python. En Python el tipo de datos es str. Y para expresarla podemos utilizar 4 operadores (Comillas simple, comilla doble y doble comillas, ya sean sencillas o dobles). Ejemplo:

‘ Esto es una cadena de caracteres entre comillas sencillas ’
“ Esto es una cadena de caracteres entre comillas dobles ”

Las cadenas deben estar delimitadas por comillas simples (' '), o por dobles (" "), triples simples (''' ''') o triples dobles (""" """). Las triples comillas las utilizamos para crear cadenas de caracteres multilínea. Ejemplo:

""" Un héroe puede ser cualquiera. 
Incluso un hombre haciendo algo tan simple y 
tranquilizador como poner un abrigo alrededor de los hombros 
de un joven para hacerle saber que el mundo no ha terminado. 
Batman """

Las cadenas de caracteres "secuencias de escape y caracteres especiales". Estos caracteres especiales se usan dentro de cadenas y generan un efecto en el formato de la cadena. Las secuencias de caracteres que comienzan con una barra invertida y que se utilizan para representar otros caracteres se denominan secuencias de escape. Las secuencias de escape se utilizan generalmente para representar caracteres especiales, es decir, caracteres (como tabulación y nueva línea) que no tienen una representación imprimible estándar de un carácter.

Secuencia de escapeCaracter especial
\'Permite incluir una comilla sencilla en una cadena
\"Permite incluir una comilla doble en una cadena
\Permite incluir un backslash en una cadena
\nNueva linea
\tTabulación

Ejemplo:

print (" Un héroe puede ser cualquiera.  \n Incluso un hombre haciendo algo tan simple y  tranquilizador como poner un abrigo alrededor de los hombros  de un joven para hacerle saber que el mundo no ha terminado.  \n\"Batman\" ")

Operadores aritméticos

Por ejemplo, el operador + toma dos números, uno a la izquierda del operador y otro a la derecha, y los suma. Asimismo, el operador = toma un valor a la derecha del operador y lo asigna al nombre a la izquierda del operador.

Estas operaciones aritméticas aplican tanto para números enteros (int) como para números decimales (float).

OperaciónOperadorEjemplo
Suma+10 + 15
Resta-15 - 10
Negación--100
Multiplicación*2 * 10
Exponente**2 ** 5
división/5 / 2
división entera//5 // 2
Orden de precedencia()5 * (5 + 10)

La función print()

En el tutorial anterior escribimos un programa sencillo, recordémoslo:

print('Na Na Na Na')
print('Na Na Na Na')
print('Na Na Na Na')
print('Na Na Na Na')
print('Batman')

print() es un función de Python que nos permite imprimir en la pantalla del usuario un mensaje compuesto por una cadena de caracteres. La sintaxis de la función print es:

print(objetos, sep, end)

Donde cada uno de los campos o parámetros de la función corresponden a:

ParámetroDescripción
objetosCualquier objeto y tantos como desee. Se convertirá en cadena antes de imprimirse
sepOpcional. Especifica cómo separar los objetos, si hay más de uno. El valor por defecto es ''
endOpcional. Especifica qué imprimir al final. El valor predeterminado es '\n' (salto de línea)

Nota: Existen otros dos parámetros opcionales file y flush, que estudiaremos más adelante.

La función input()

La función input() facilita la interactividad del usuario con nuestros programas, esta función permite que un programa en Python reciba información o datos por parte del usuario. La sintaxis de la función print es:

input(Cadena)

Cadena representa un mensaje predeterminado antes que el usuario ingrese un dato. Ejemplo:

variable = input('Ingrese su nombre: ')
print('Hola, ', variable)

Por defecto variable es un dado de tipo str, si el dato ingresado por el usuario es un número es necesario que el programador realice una conversión de tipo, en este caso de str a int o a float. Ejemplo:

un_entero = int(input('Ingrese un numero entero: '))
print('numero = ', un_entero)

un_flotante = float(input('Ingrese un numero flotante: '))
print('numero = ', un_flotante )

Con la función type() puede verificar el tipo de dato que almacena una variable.

un_entero = int(input('Ingrese un numero entero: '))
print('numero = ', un_entero, ' es de tipo -> ', type(un_entero))

un_flotante = float(input('Ingrese un numero flotante: '))
print('numero = ', un_flotante , ' es de tipo -> ', type(un_flotante ))

Solución al caso planteado

Repositorio en Github - Solución

https://github.com/jpadillaa/Tutoriales-Python

Did you find this article valuable?

Support Jesse Padilla by becoming a sponsor. Any amount is appreciated!