0% encontró este documento útil (0 votos)
47 vistas23 páginas

Diapositivas U2.3. Fundamentos de Programación en Python

Este documento explica los fundamentos de la programación en Python, incluyendo la asignación de valores a variables, expresiones numéricas, el orden de evaluación de operadores basado en las reglas de precedencia, los diferentes tipos de datos como cadenas e integers, y el uso de comentarios para documentar el código.

Cargado por

robertogle
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
47 vistas23 páginas

Diapositivas U2.3. Fundamentos de Programación en Python

Este documento explica los fundamentos de la programación en Python, incluyendo la asignación de valores a variables, expresiones numéricas, el orden de evaluación de operadores basado en las reglas de precedencia, los diferentes tipos de datos como cadenas e integers, y el uso de comentarios para documentar el código.

Cargado por

robertogle
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 23

U2.3.

Fundamentos de programación
en Python

1
Asignación
Asignamos un valor a una variable utilizando la asignación (=)

Una instrucción de asignación consta de una expresión en el lado


derecho y una variable para almacenar el resultado

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

• El asterisco es la multiplicación - Resta

* 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

>>> print(zz) 5 23 ** Potencia


5.28 20 % Resto

3
Orden de evaluación
• Cuando introducimos una serie de operadores,
Python debe saber cuál tiene que evaluar o calcular primero

• Esto recibe el nombre de “precedencia de los operadores”

• En el ejemplo, ¿qué operador “tiene precedencia” sobre los otros?

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

• Dividir las series de operaciones matemáticas largas en varias


operaciones más cortas para mayor claridad
El tipo de las variables
• En Python, las variables, literales y
constantes tienen un tipo >>> ddd = 1 + 4
>>> print(ddd)
• Python diferencia entre un número 5
entero y una cadena >>> eee = 'hola ' + 'a
todos'
• Por ejemplo, “+” significa “suma” si se >>> print(eee)
Hola a todos
trata de números y “concatenación” si
se trata de cadenas

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'>

de cadenas >>> print(sval + 1)


Traceback (most recent call last): File
"<stdin>", line 1, in <module>
• También se puede utilizar int() TypeError: Can't convert 'int' object to
str implicitly
y float() para realizar >>> ival = int(sval)
conversiones entre cadenas y >>> type(ival)
<class 'int'>
enteros >>> print(ival + 1)
124
• Obtendremos un error si la >>> nsv = 'hello bob'
>>> niv = int(nsv)
cadena no contiene Traceback (most recent call last): File
caracteres numéricos "<stdin>", line 1, in <module>
ValueError: invalid literal for int()
with base 10: 'x'
Input o entrada de usuario
• Podemos hacer que
Python haga una pausa y name = input(‘¿Quién eres?')
lea datos introducidos por print('Bienvenid@,', name)
el usuario con la función
input() ¿Quién eres?
• La función input() Carlos
devuelve una cadena Bienvenid@, Carlos
Conversión de la entrada de usuario
• Si queremos leer un
número de la entrada de
usuario, debemos
euf = input(‘¿Planta en Europa?')
convertirlo de cadena a usf = int(euf) + 1
número usando la función print(‘Planta en USA:', usf)
de conversión de tipo
adecuada ¿Planta en Europa? 0
Planta en USA: 1
Comentarios en Python
• Todo lo que vaya después de un # es ignorado por Python

• ¿Por qué usar comentarios?

– Permiten describir lo que se realiza en un fragmento de código

– Permiten documentar quién escribió el código o proporcionar


información adicional

– Permiten desactivar una línea de un código, quizás de manera


temporal
# Get the name of the file and open it
name = input('Enter file:')
handle = open(name, 'r')

# Count word frequency


counts = dict()
for line in handle:
words = line.split()
for word in words:
counts[word] = counts.get(word,0) + 1

# Find the most common word


bigcount = None
bigword = None
for word,count in counts.items():
if bigcount is None or count > bigcount:
bigword = word
bigcount = count

# 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.

Desarrollo inicial: Charles Severance, Facultad de Información de la Universidad de Michigan


Modificaciones: Roberto González Cardenete, Conselleria d'Educació de la Generalitat Valenciana

23

También podría gustarte