Diapositivas U2.3. Fundamentos de Programación en Python
Diapositivas U2.3. Fundamentos de Programación en Python
Fundamentos de programación
en Python
1
Asignación
Asignamos un valor a una variable utilizando la asignación (=)
x = 3.9 * x * ( 1 - x )
x 0.6
0.6 0.6
x = 3.9 * x * ( 1 - x )
0.4
El lado derecho es una expresión. Una
vez evaluada la expresión, el resultado
0.936
se coloca en (se asigna a) x.
En una variable se puede reemplazar el
valor anterior (0.6) con uno nuevo x 0.6 0.936
(0.936).
0.6 0.6
x = 3.9 * x * ( 1 - x )
0.4
El lado derecho es una expresión. Una
vez evaluada la expresión, el resultado se
coloca en (se asigna a) la variable que
0.936
está a la izquierda (es decir, x).
Expresiones numéricas
• Expresamos las operaciones matemáticas
Operador Operación
con ciertos símbolos que no tienen por qué
coincidir con los utilizados en papel + Suma
* Multiplicación
• La barra es la división
/ División
• La potenciación (elevar a la potencia) utiliza
el doble asterisco ** Potencia
% Resto
• El porcentaje indica módulo o resto de la
división entera
Expresiones numéricas
>>> jj = 23
>>> xx = 2
>>> kk = jj % 5 Operador Operación
>>> xx = xx + 2
>>> print(kk)
>>> print(xx) + Suma
3
4
>>> print(4 ** 3) - Resta
>>> yy = 440 * 12
64
>>> print(yy) * Multiplicación
5280
>>> zz = yy / 1000
4R3 / División
3
Orden de evaluación
• Cuando introducimos una serie de operadores,
Python debe saber cuál tiene que evaluar o calcular primero
x = 1 + 2 * 3 - 4 / 5 ** 6
Reglas de precedencia
De la regla de precedencia más alta a la regla de precedencia más baja:
Paréntesis
– Siempre se respetan los paréntesis
Potencia
– Potenciación (elevar a la potencia) Multiplicación
Suma
– Multiplicación, división, resto Izquierda a
derecha
– Suma y resta
– De izquierda a derecha
1 + 2 ** 3 / 4 * 5
>>> x = 1 + 2 ** 3 / 4 * 5
>>> print(x)
11.0 1 + 8 / 4 * 5
>>>
1 + 2 * 5
Paréntesis
Potencia
Multiplicación
1 + 10
Suma
Izquierda a
derecha 11
Reglas de precedencia
Paréntesis
Potencia
• Tener en cuenta las reglas de arriba hacia abajo Multiplicación
Suma
• Es más que recomendable utilizar paréntesis Izquierda a
derecha
• Usar expresiones matemáticas lo más simples posible para que
sean fáciles de entender
concatenación = unión
El tipo importa
• Python asigna un “tipo” a
>>> eee = 'hello ' + 'there'
cualquier variable >>> eee = eee + 1
Traceback (most recent call last):
• Algunas operaciones están File "<stdin>", line 1, in
prohibidas según el tipo de <module>TypeError: Can't convert
'int' object to str implicitly
variable que sea >>> type(eee)
<class'str'>
• No se puede sumar 1 a una >>> type('hello')
<class'str'>
cadena >>> type(1)
<class'int'>
• Podemos averiguar de qué tipo >>>
se trata con la función type()
Diferentes tipos de número
• Los números tienen dos tipos >>> xx = 1
>>> type (xx)
– Enteros (int): <class 'int'>
>>> temp = 98.6
-14, -2, 0, 1, 100, 401233 >>> type(temp)
<class'float'>
– Números de punto flotante (float), que >>> type(1)
tienen decimales: <class 'int'>
>>> type(1.0)
-2.5 , 0.0, 98.6, 14.0 <class'float'>
>>>
• Hay otros tipos : son variantes entre
los decimales y los enteros
Conversiones de tipo
• Al introducir un número
entero y un decimal en una >>> print(float(99) + 100)
expresión, el entero (int) se 199.0
>>> i = 42
convierte implícitamente en >>> type(i)
uno decimal (float) <class'int'>
>>> f = float(i)
• Esto se puede controlar de >>> print(f)
explícitamente con las 42.0
funciones incorporadas int() y >>> type(f)
float() <class'float'>
>>>
División de números enteros
>>> print(10 / 2)
• La división de números 5.0
>>> print(9 / 2)
enteros siempre devuelve
4.5
un resultado decimal (con >>> print(99 / 100)
punto flotante o float) 0.99
>>> print(10.0 / 2.0)
5.0
>>> print(99.0 / 100.0)
0.99
Conversiones >>> sval = '123'
>>> type(sval)
<class 'str'>
# All done
print(bigword, bigcount)
Comentarios multilínea
• También podemos hacer comentarios multilínea con ’’’ (tres
comillas simples para iniciar el comentario y para finalizarlo) o con
””” (tres comillas dobles para iniciar el comentario y para finalizarlo)
• Sin embargo, las guías de estilo de Python no recomiendan los
comentarios multilínea (recomiendan el uso de #)
’’’ Esto es
un comentario ””” Esto
multilínea también lo es ”””
’’’
Ejercicio
Escribe un programa que solicite, como
entrada al usuario, el número de horas
trabajadas al día y la tarifa por hora y obtenga,
como salida, el salario mensual bruto,
considerando que, en promedio, hay 22 días
laborables al mes.
Introducir horas/día: 8
Introducir tarifa/hora: 11.5
Salario: 2024.0 €
Agradecimientos
Estas diapositivas están protegidas por derechos de autor 2010- Charles R. Severance (www.dr-
chuck.com) de la Facultad de Información de la Universidad de Michigan, y se ponen a disposición
bajo licencia de Creative Commons Attribution 4.0. Por favor, conserve esta última diapositiva en
todas las copias del documento para cumplir con los requisitos de atribución de la licencia. Si realiza
algún cambio, siéntase libre de agregar su nombre y el de su organización a la lista de
colaboradores en esta página cuando republique los materiales.
23