Guía 1 - Introducción A Python 3.X
Guía 1 - Introducción A Python 3.X
1
un resultado. En la segunda unidad del curso ya hablaremos de funciones propiamente tal, pero
por ahora, el primer comando o función que debemos tener en consideración es print().
print() recicbe como entrada una cadena de texto, conocido en Python como un String. Un String
en Python puede ser escrito con comillas dobles o comillas simples (CUIDADO: NO PUEDE SER
UNA COMBINACIÓN DE AMBAS!). Por lo tanto, para escribir el famoso código de Hola Mundo!
en Python, debemos utilizar el comando print() con el string “Hola Mundo!” dentro de los parentesis
de print().
Hola Mundo!
Como se puede ver del código anterior, Python simplemente nos retorna el mensaje Hola Mundo!.
Lo que hace la instrucción print() es imprimir (o “printear”) un mensaje mediante la consola de
Python. En otras palabras, muestra un mensaje al usuario, de acuerdo al string que se coloca
dentro de los parentesis de print.
Tipos de Datos en Python
Hablemos de tipos de datos. Ya hemos mencionado uno, el String , que corresponde a una cadena
de texto o un texto simple. Los otros tipos de datos a considerar para el curso son:
• Int (Integer o Entero): Corresponde a un número entero, tal cual como lo conocemos en
Cálculo o Álgebra. Por lo tanto, los Ints son los números negativos, los números positivos y
el 0.
• Float (Número de Punto Flotante o Decimales): Corresponden a los números decimales, con
la gran diferencia de que en Python los decimales se escriben con un punto para separar la
parte entera de la parte decimal. He ahí por que se les conoce como “Punto Flotante”.
• Bool (Booleanos o Valores Lógicos): Los booleanos puede ser solamente dos valores: True
(Verdadero) o False (Falso). Se debe tener en consideración que la primera letra se escribe
en mayuscula y el resto en minusculas. Variaciones como TRUE, FALSE, true, false, TrUE,
faLSE, etc no serán reconocidas por Python.
• List (Lista): Corresponde a un conjunto de elementos. Se escriben con un parentesis cuadrado
al inicio y un parentesis cuadrado al final ([]) y una lista puede contener a otros tipos de datos.
Ya veremos listas al final de la primera unidad.
• Complex (Números Complejos): Representan a los números complejos, que tienen una parte
real y una parte imaginaria aunque tienen unas pequeñas variaciones de como funcionan
realmente los números complejos. Curiosamente, en Python se utiliza la letra j en vez de la
letra i para la parte imaginaria. Más curioso aún, se suelen mencionar en la primera parte del
curso y luego nunca más vuelven a aparecer (Pero por si acaso igual lo incluyo en la guía).
Si tenemos dudas de si un elemento es de un tipo de dato específico, podemos utilizar la función
type(), cuya entrada es cualquier elemento al que le queramos reconocer su tipo de dato. type()
nos indicará si se trata de un int, float, bool, list o complex. A continuación, se presentan algunos
ejemplos.
Ejemplos de tipo de dato: Int
2
[2]: # Se comprueba el tipo de dato de 159
type(159)
[2]: int
[3]: int
[4]: int
[5]: int
[6]: int
[7]: float
[8]: float
[9]: float
[10]: float
3
[11]: # Se comprueba el tipo de dato de "Hello World"
type ("Hello World!")
[11]: str
[12]: str
Nótemos que Python nos indicó un error ya que reconoció que hay un string que no tiene las
comillas al final, pero en realidad si las tiene. Esto es porque Python espera que si al inicio se usan
comillas simples, al final también deberían utilizarse comillas simples y vice versa.
[14]: str
[15]: str
[16]: str
[17]: bool
4
[18]: bool
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
Cell In[19], line 2
1 # Se comprueba el tipo de dato de false
----> 2 type (false)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
Cell In[20], line 2
1 # Se comprueba el tipo de dato de true
----> 2 type (true)
[21]: list
[22]: list
[23]: # Se comprueba el tipo de dato de ["hello", [3, 5, 1], 19, "a todos"]
type (["hello", [3,5,1], 19, "a todos"])
[23]: list
[24]: complex
5
[25]: # Se comprueba el tipo de dato de -9-4j
type(-9-4j)
[25]: complex
[26]: complex
[27]: complex
Debemos entonces tener en consideración que cada tipo de dato tiene una forma especifica en la
que se escribe y también a veces existen distintas representaciones de un número en distintos tipos
de datos (Por ejemplo, para el 0, existe el 0 en int, el 0.0 en float y el 0+0j en complex).
Transformaciones de tipos de datos
Utilizando ciertas funciones, podemos realizar transformaciones de un tipo de dato a otro. Hay que
tener un poco de cuidado, ya que ciertas transformaciones no son posibles y a veces el resultado de
una transformación puede darnos algo totalmente distinto a lo esperado.
• Para transformar un elemento a un número entero, podemos utilizar la función int(). int()
solo acepta como entrada flotantes, booleanos y strings (en ciertos casos).
[28]: 6
[29]: 6
[30]: 6
[31]: 99
6
[32]: 1
[33]: 0
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Cell In[34], line 2
1 # Se intenta transformar el string "h" a un int
----> 2 int ("h")
Solo se pueden transformar strings que sean números a enteros. Intentar transformar algún texto
o letra resultará en un error.
• Para transformar a un número flotante podemos utilizar la función float(). float() solo acepta
ints, booleanos y strings.
[35]: 3.0
[36]: 0.0
[37]: 1.0
[38]: 0.0
[39]: 22.32323
7
[40]: # Se transforma el string "22" al float 22.0
float ("22")
[40]: 22.0
• Para transformar a un booleano (valor lógico) podemos utilizar la función bool(). bool() solo
acepta ints, floats y strings.
[41]: True
[42]: False
[43]: True
[44]: False
[45]: True
[46]: True
• Para transformar a una lista, podemos usar la función list(). list() solo acepta strnings.
[47]: ['e', 'l', 'e', 'm', 'e', 'n', 't', 'o', 's']
[48]: ['2', '3', '2', '3', '1', '2', '2', '3', '8']
8
• Para transformar a un número complejo, podemos usar la función complex(). A diferencia de
las otras funciones, complex() acepta dos números como entrada, el primero siendo la parte
real y el segundo la parte imaginaria. Los números pueden estar en formato int o float.
[49]: # Se utilizan los flotantes 2.4 y 3.4 para formar el complejo 2.4+3.4j
complex(2.4, 3.4)
[49]: (2.4+3.4j)
[50]: (2+3j)
[51]: 2j
[52]: (10+0j)
Operadores aritméticos
En Python podemos realizar operaciones matemáticas similar a como lo hacemos hoy en día en
nuestro lenguaje, aunque existen algunas diferencias a tener en consideración.
• Para realizar una suma en Python, usamos el operador +
[53]: 3
[54]: 43.43000000000001
[55]: 47.2
9
[56]: -7
[57]: 22.0
[58]: 6
[59]: 110.25
[60]: 0.0
• Para realizar una división en Python, usamos el operador /. No existe la división con :. Los
resultados automáticamente se transforman en números de tipo float, independiente de que
los números utilizados y el resultado sean ints.
[61]: 10.0
[62]: 26.5
[63]: 10.0
[64]: 2.956521739130435
10
• Para realizar una división entera, usamos el operador //. Aquí los resultados serán ints a
menos que se utiliza un número flotante. Basta que uno de los números sea float para que el
resultado sea float.
[65]: 2.0
[66]: 10
[67]: 10
[68]: 10.0
[69]: 8.0
• Para obtener el resto de una división, se utiliza el operador %. Este operador se conoce como
modulo y no tiene que ver con el porcentaje.
[70]: 1
[71]: 0
[72]: 62.80000000000001
11
[73]: 176.40000000000003
Para elevar un número se utiliza el operador **. Esta operación también se conoce como exponen-
ciación.
[74]: 64
[75]: 400
[76]: 512.0
[77]: 21.112126572366314
La tabla anterior describe el orden que se debe respetar junto con la asociatividad. Es importante
tener en consideración que al igual que en Cálculo y/o Álgebra, el uso de parentesis puede modificar
el orden de operaciones
[78]: 75.0
12
[79]: # Operación con parentesis (cambia el orden dado los parentesis, los cuales␣
↪tienen preferencia)
(5 + 5) ** 3 / 5 * 4 - 10 * 3
[79]: 770.0
Variables y asignación
En Python, una variable es un lugar donde podemos guardar un valor en memoria para poder
reutilizarlo en un futuro. Una variable puede ser modificada y es ahí donde se deben guardar
valores importantes del problema, resultados, valores temporales, entre otros. Por buenas prácticas,
siempre es recomendable colocarle a una variable un nombre representativo de lo que es, aunque se
le puede colocar cualquier nombre en realidad siempre y cuando el nombre no contenga caracteres
no aceptados por Python o espacios al inicio. Si se requiere un nombre de variable que lleve espacios,
los espacios deben reemplazarse por guiones bajos (EJ: nombre_variable) y si la variable contiene
algo que no va a cambiar durante toda la ejecución del código, es decir, un valor fijo, entonces
el nombre debe estar en mayusculas (EJ: NOMBRE_VARIABLE). Para asignar un valor a un
elemento, debemos utilizar el operador =. Podemos utilizar la instrucción print() para ver en la
consola el contenido de una variable.
13
Por último, mencionar que en Python NO debemos utilizar tildes ni la letra Ñ, dado que eso puede
ocasionar problemas con la interpretación de nuestro código al ejecutarlo (dado que Python se rige
por el inglés más que por el español).
Extra (Pero importante para poder realizar los ejercicios): Entradas
Si utilizamos la función input(), podemos recibir una entrada por teclado por parte del propio
usuario cuando se ejecute el código. Esta entrada puede ser guardada en una variable y dentro de
los parentesis de input podemos escribir un mensaje en formato String para indicar al usuario cual
es el dato que se espera que se ingrese.
Ingrese su edad: 23
Si se utiliza la función type() que se mencionó al inicio de la guía, se puede comprobar que edad
es una variable de tipo string, a pesar de que se ingresó un número por el teclado. Esto es porque
Python automáticamente transforma todas las entradas a formato String por defecto.
14
[83]: # Se comprueba el tipo de dato de la variable edad
type(edad)
[83]: str
Entonces, si queremos que una entrada si o si sea de un tipo de dato especifico, podemos combinar
las funciones de transformación que también se vieron en la guía para transformar la entrada.
[84]: # Se combina el uso de int() con input() para obtener una entrada con tipo de␣
↪dato int
Ingrese su edad: 23
[84]: int
[85]: float
Se ingresó 3, pero Python dice que la variable flotante es de tipo float. Y esto es porque al ingresar
3, con float() automáticamente se hace el cambio a 3.0, he ahí porque es una variable de tipo float.
EJERCICIOS PROPUESTOS: TIPOS DE DATOS, OPERACIONES Y VARIABLES
Instrucciones:
• Para todos los problemas, identifique los datos de entrada, datos de salida, y las operaciones
sobre los datos de entrada necesarias para obtener los datos de salida.
• Se debe comentar (usando el simbolo Hashtag #) cada una de las líneas de los programas.
• Para todos los programas y por buenas prácticas, se debe utilizar la siguiente estructura:
#CONSTANTES
…
#ENTRADAS
…
#PROCESAMIENTO
…
#SALIDAS
…
• RECORDAR: Siga las buenas prácticas mencionadas durante la lectura. Está prohibido uti-
lizar Inteligencia Artificial para resolver u obtener una “ayuda” con los problemas (ChatGPT,
Gemini, Bing, Github Copilot, entre otros). Para cada problema haga un archivo .py.
15
• NOTA: El orden de los ejercicios no representa la dificultad. Usted puede resolver los ejercicios
en el orden que prefiera.
1. Construya un programa en Python donde al usuario se le pregunte su año de nacimiento y se
le entregue su edad de acuerdo al año actual.
2. Escriba un programa en Python que calcule el área de un triangulo mediante la fórmula de
Herón, siendo a, b, y c los lados del triángulo.
3) Escriba un programa en Python que convierta días a segundos y muestre el resultado por
pantalla. Hint: Recuerde que 1 minuto son 60 segundos, 1 hora son 3600 segundos y que 1
día son 86400 segundos.
4) Construya un programa en Python que convierta un número dado de segundos a horas,
minutos y segundos. Por ejemplo, 3661 segundos equivalen a una hora, un minuto y un
segundo.
5. Usando el teorema de Pitágoras, cree un programa en Python que permita el cálculo de la
hipotenusa de un triangulo rectángulo a partir del valor de sus catetos, para cualquier valor
positivo de ellos.
6. Construya un programa en Python que calcule el número de átomos contenidos en el cuerpo
de una persona cualquiera y el porcentaje que estos ocupan en el universo. Se sabe que el
número de atomos en una persona de 70 kilogramos es de 7 ∗ 1027 y que el número de átomos
en el universo es de 1 ∗ 1081
7. Implemente un programa en Python que calcule la pendiente y la ordenada al origen de la
ecuación de la recta que relaciona la escala de temperatura Fahrenheit con la escala de grados
Celcius, sabiendo que:
• 32 grados Fahrenheit equivalen a 0 grados Celcius
• 50 grados Fahrenheit equivalen a 10 grados Celcius
Δ𝑦
• La ecuación de la recta es 𝑦 = 𝑚𝑥 + 𝑏; con 𝑚 = Δ𝑥
[ ]: 5+2*9**(4 - 2)
16
a) 5 + 2 ⋅ 94−2
b) 5 + (2 ⋅ 9)4−2
c) (5 + 2) ⋅ 94−2
d) (5 + 2 ⋅ 9)4−2
2. Considere la siguiente expresión en Python:
[ ]: 8 + 5 // 2
17