PROGRAMACIÓN EN PYTHON – CLASE 03

(Creado por el analista de sistemas y docente Leonel Iván Saafigueroa)


ENTRADA, PROCESAMIENTO Y SALIDA DE DATOS

Conversión entre tipos de datos, operadores, función input().



Para trabajar con datos de manera flexible en Python, a veces necesitamos transformar sus tipos. Imaginemos que queremos combinar números con texto o precisar la representación decimal de un entero inicial. Estas situaciones requieren convertir los valores entre diferentes tipos de datos, como por ejemplo:

Convertir flotantes a enteros:

Para obtener una aproximación al valor decimal sin decimales.

Convertir enteros a cadenas:

Para unirlos con texto y formar frases completas.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
cadena = "1234"
entero = 44
flotante = 51.2
int(cadena) # convierte a entero (1234)
float(cadena) # convierte a coma flotante (1234.0)
str(entero) # convierte a cadena ("44")
str(flotante) # convierte a cadena ("51.2")
cadena = "1234" entero = 44 flotante = 51.2 int(cadena) # convierte a entero (1234) float(cadena) # convierte a coma flotante (1234.0) str(entero) # convierte a cadena ("44") str(flotante) # convierte a cadena ("51.2")
cadena = "1234"
entero = 44
flotante = 51.2

int(cadena)     # convierte a entero (1234)
float(cadena)   # convierte a coma flotante (1234.0)
str(entero)     # convierte a cadena ("44")
str(flotante)   # convierte a cadena ("51.2")



Podemos conocer el tipo de dato de cualquier objeto utilizando la función type().

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
nombre = "Leonel Saafigueroa"
edad = 45
notaFinal = 9.50
esEstudiante = False
domicilio = "Av. Red-Handed 1234"
print(type(nombre))
print(type(edad))
print(type(notaFinal))
print(type(esEstudiante))
print(type(domicilio))
nombre = "Leonel Saafigueroa" edad = 45 notaFinal = 9.50 esEstudiante = False domicilio = "Av. Red-Handed 1234" print(type(nombre)) print(type(edad)) print(type(notaFinal)) print(type(esEstudiante)) print(type(domicilio))
nombre = "Leonel Saafigueroa"
edad = 45
notaFinal = 9.50
esEstudiante = False
domicilio = "Av. Red-Handed 1234"

print(type(nombre))
print(type(edad))
print(type(notaFinal))
print(type(esEstudiante))
print(type(domicilio))
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>
<class 'str'>
<class 'str'> <class 'int'> <class 'float'> <class 'bool'> <class 'str'>
<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>
<class 'str'>


En Python, el operador = (igual) tiene un papel fundamental, aunque su
funcionamiento difiere del habitual en matemáticas. No se utiliza para
comparar valores, sino como operador de asignación.

Su tarea consiste en evaluar (calcular) lo que hay a su derecha y guardar el resultado dentro de la variable que se encuentra a su izquierda.

En esencia, el operador = permite dar un valor a una variable para que puedas usarla posteriormente en tu código.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
cantidad = 45 # int (enteros)
precio = 20.48 # float (reales)
nombre = "Leonel" # string (cadenas)
encendido = True # bool (lógicos)
cantidad = 45 # int (enteros) precio = 20.48 # float (reales) nombre = "Leonel" # string (cadenas) encendido = True # bool (lógicos)
cantidad = 45       # int (enteros)
precio = 20.48      # float (reales)
nombre = "Leonel"   # string (cadenas)
encendido = True    # bool (lógicos)


En Python, una expresión es como una receta que produce un resultado. Se compone de ingredientes llamados operandos, que pueden ser variables (nombres que representan valores) o literales (valores numéricos o cadenas de texto), y operadores, que indican las acciones a realizar sobre los operandos.

Por otro lado, una sentencia es la acción en sí misma. Es una instrucción que el programa ejecuta, y puede contener una o varias expresiones. Las sentencias son las piezas fundamentales del código, dictando cómo se comportará tu programa. Recordá que cada sentencia debe terminar con un salto de línea (Enter).

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
15 + 2 # Suma del número 15 y el número 2.
a < 10 # Compara si el valor de la variable a es menor que 10.
b is None # Compara si la identidad de la variable b es None.
5 * (300 - c) # Resta a 300 el valor de c y lo multiplica por 5.
15 + 2 # Suma del número 15 y el número 2. a < 10 # Compara si el valor de la variable a es menor que 10. b is None # Compara si la identidad de la variable b es None. 5 * (300 - c) # Resta a 300 el valor de c y lo multiplica por 5.
15 + 2          # Suma del número 15 y el número 2.
a < 10          # Compara si el valor de la variable a es menor que 10.
b is None       # Compara si la identidad de la variable b es None.
5 * (300 - c)   # Resta a 300 el valor de c y lo multiplica por 5.

En Python, los operadores aritméticos son tu herramienta para realizar cálculos básicos. Pueden actuar sobre uno o dos valores (operandos), como en matemáticas.


OperadorDescripción
+Suma: Suma dos operandos.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
suma = 12 + 5
print(suma)
suma = 12 + 5 print(suma)
suma = 12 + 5
print(suma)
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
17
17
17
OperadorDescripción
–Resta: Resta al operando de la izquierda el valor del operando de la derecha. Utilizado sobre un único operando, le cambia el signo.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
resta = 30 - 4
print(resta)
numero = -12
print(numero)
resta = 30 - 4 print(resta) numero = -12 print(numero)
resta = 30 - 4
print(resta)
numero = -12
print(numero)
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
26
-12
26 -12
26
-12
OperadorDescripción
*Multiplicación: Producto de dos operandos.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
multiplicacion = 4 * 5
print(multiplicacion)
multiplicacion = 4 * 5 print(multiplicacion)
multiplicacion = 4 * 5
print(multiplicacion)
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
20
20
20
OperadorDescripción
/División: Divide el operando de la izquierda por el de la derecha (el resultado siempre es un float).
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
division = 10 / 2
print(division)
division2 = 16 / 5
print(division2)
division = 10 / 2 print(division) division2 = 16 / 5 print(division2)
division = 10 / 2
print(division)
division2 = 16 / 5
print(division2)
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
5.0
3.2
5.0 3.2
5.0
3.2
OperadorDescripción
%Operador módulo: Obtiene el resto de dividir el operando de la izquierda por el de la derecha. uno de sus usos es para saber si un número es par o impar (si el resultado es 0 es par).
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
modulo = 8 % 2
print(modulo)
modulo = 9 % 2
print(modulo)
modulo = 8 % 2 print(modulo) modulo = 9 % 2 print(modulo)
modulo = 8 % 2
print(modulo)
modulo = 9 % 2
print(modulo)
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
0
1
0 1
0
1
OperadorDescripción
//División entera: Obtiene el cociente entero de dividir el operando de la izquierda por el de la derecha.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
divEntera = 11 // 6
divEntera2 = 35 // 4
print(divEntera)
print(divEntera2)
divEntera = 11 // 6 divEntera2 = 35 // 4 print(divEntera) print(divEntera2)
divEntera = 11 // 6
divEntera2 = 35 // 4
print(divEntera)
print(divEntera2)
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
1
8
1 8
1
8
OperadorDescripción
**Potencia: El resultado es el operando de la izquierda elevado a la potencia del operando de la derecha.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
potencia = 2 ** 3
potencia2 = 10 ** 2
print(potencia)
print(potencia2)
potencia = 2 ** 3 potencia2 = 10 ** 2 print(potencia) print(potencia2)
potencia = 2 ** 3
potencia2 = 10 ** 2
print(potencia)
print(potencia2)
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
8
100
8 100
8
100
OperadorDescripción
¿y la raiz?Para la raíz cuadrada Python no tiene operador aritmético en particular, pero podemos utilizar ** con un exponente de 0.5 (para raíz cuadrada) o fracción (para raíz cuadrada u otras raíces).
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
raiz = 9 ** 0.5
print(raiz)
raiz = 9 ** (1/2)
print(raiz)
raiz = 125 ** (1/3)
print(raiz)
raiz = 9 ** 0.5 print(raiz) raiz = 9 ** (1/2) print(raiz) raiz = 125 ** (1/3) print(raiz)
raiz = 9 ** 0.5
print(raiz)
raiz = 9 ** (1/2)
print(raiz)
raiz = 125 ** (1/3)
print(raiz)
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
3.0
3.0
4.999999999999999
3.0 3.0 4.999999999999999
3.0
3.0
4.999999999999999


La función input() es tu puerta de enlace para interactuar con los usuarios. Al utilizarla, podés mostrar un indicador en la terminal (el famoso cursor que parpadea) y esperar que el usuario escriba información.

Una vez que el usuario presiona Enter, la función input() captura lo que ha escrito y lo devuelve como una cadena de caracteres. Esta cadena luego puede ser almacenada en una variable para su posterior uso en el programa.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
nombre = input("Ingrese su nombre: ")
print("que lindo nombre", nombre)
nombre = input("Ingrese su nombre: ") print("que lindo nombre", nombre)
nombre = input("Ingrese su nombre: ")
print("que lindo nombre", nombre)
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Ingrese su nombre: Leonel
que lindo nombre Leonel
Ingrese su nombre: Leonel que lindo nombre Leonel
Ingrese su nombre: Leonel
que lindo nombre Leonel

Cuando input() devuelve una cadena, a veces necesitás convertirla a números para hacer cálculos. Para eso tenemos las funciones int() (para enteros) y float() (para decimales).

La cadena ingresada en el input() se convierte en un número de coma flotante, se almacena en la variable numero, luego se producto con 2 se almacena en la variable resultado, y se muestra en la terminal usando print().

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
num1 = input("Ingrese un número: ")
numero = float(num1)
resultado = numero * 2
print(numero,"x 2 =", resultado)
num1 = input("Ingrese un número: ") numero = float(num1) resultado = numero * 2 print(numero,"x 2 =", resultado)
num1 = input("Ingrese un número: ")
numero = float(num1)
resultado = numero * 2
print(numero,"x 2 =", resultado)
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Ingrese un número: 15
15.0 x 2 = 30.0
Ingrese un número: 15 15.0 x 2 = 30.0
Ingrese un número: 15
15.0 x 2 = 30.0


Ahora que conocemos input(), las funciones matemáticas y print(),
podemos crear programas en Python que ejecutan las tres etapas fundamentales de un algoritmo: entrada, proceso y salida.

  • Usamos input() para pedir datos al usuario.
  • Las variables y operadores nos permiten procesar esos datos.
  • Y print() muestra los resultados al usuario.

¡Prepárate para ver algunos ejemplos!



Para entenderlo mejor, veamos un ejemplo sencillo. Este código usa input(), operadores matemáticos y print() para crear un programa que suma dos números dados por el usuario.

¡Es una demostración básica pero muy útil!


Explicación del programa:

  1. Entrada: Primero, le pide al usuario que ingrese dos números. Estos valores se guardan en las variables “numero1” y “numero2“.
  2. Proceso: Luego, suma los contenidos de las variables “numero1” y “numero2” usando el operador “+“, y guarda el resultado en una nueva variable llamada “suma“.
  3. Salida: Finalmente, muestra el resultado de la suma a través de print().
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
numero1 = float(input("Ingresa el primer número: "))
numero2 = float(input("Ingresa el segundo número: "))
suma = numero1 + numero2
print("La suma de",numero1,"y",numero2,"es",suma)
numero1 = float(input("Ingresa el primer número: ")) numero2 = float(input("Ingresa el segundo número: ")) suma = numero1 + numero2 print("La suma de",numero1,"y",numero2,"es",suma)
numero1 = float(input("Ingresa el primer número: "))
numero2 = float(input("Ingresa el segundo número: "))

suma = numero1 + numero2

print("La suma de",numero1,"y",numero2,"es",suma)
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Ingresa el primer número: 23
Ingresa el segundo número: 45
La suma de 23.0 y 45.0 es 68.0
Ingresa el primer número: 23 Ingresa el segundo número: 45 La suma de 23.0 y 45.0 es 68.0
Ingresa el primer número: 23
Ingresa el segundo número: 45
La suma de 23.0 y 45.0 es 68.0



Aquí vemos un ejemplo un poco más complejo que realiza el cálculo del promedio de tres notas.


Explicación del programa:

  1. Entrada: El programa solicita al usuario que ingrese tres notas, que se almacenan en las variables “nota1“, “nota2“, y “nota3“.
  2. Proceso: Se calcula el promedio de las tres notas sumando los valores y dividiendo por 3. El resultado se guarda en la variable “promedio”.
  3. Salida: El promedio calculado se muestra en la terminal.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
nota1 = float(input("Ingresa la primera nota: "))
nota2 = float(input("Ingresa la segunda nota: "))
nota3 = float(input("Ingresa la tercera nota: "))
promedio = (nota1 + nota2 + nota3) / 3
print()
print("El promedio de las tres notas es:",promedio)
nota1 = float(input("Ingresa la primera nota: ")) nota2 = float(input("Ingresa la segunda nota: ")) nota3 = float(input("Ingresa la tercera nota: ")) promedio = (nota1 + nota2 + nota3) / 3 print() print("El promedio de las tres notas es:",promedio)
nota1 = float(input("Ingresa la primera nota: "))
nota2 = float(input("Ingresa la segunda nota: "))
nota3 = float(input("Ingresa la tercera nota: "))

promedio = (nota1 + nota2 + nota3) / 3

print()
print("El promedio de las tres notas es:",promedio)
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Ingresa la primera nota: 9
Ingresa la segunda nota: 8
Ingresa la tercera nota: 7
El promedio de las tres notas es: 8.0
Ingresa la primera nota: 9 Ingresa la segunda nota: 8 Ingresa la tercera nota: 7 El promedio de las tres notas es: 8.0
Ingresa la primera nota: 9
Ingresa la segunda nota: 8
Ingresa la tercera nota: 7

El promedio de las tres notas es: 8.0


TAREA PARA EL HOGAR

1. Crea un programa que solicite al usuario dos números enteros.
Realiza las siguientes operaciones: suma, resta, multiplicación, y módulo.
Muestra el resultado de cada operación en un formato claro y amigable.
Incluir mensajes personalizados que expliquen cada resultado, por ejemplo:

“La suma de tus números es: X“.

2. Escribe un programa que calcule la propina que se debe dejar en un restaurante.

El script debe solicitar al usuario el monto total de la cuenta y el porcentaje de propina que desea dejar.

Utilizando operadores aritméticos, calcula la cantidad de propina y el total a pagar (incluyendo la propina). Finalmente, que se muestren los resultados en la pantalla.