Python 01
Python 01
Unidad 3
Tema 4:
Introducción al lenguaje de programación
Programación Básica (PB)
1 2
Programa fuente
3 4
Lenguajes Lenguajes
Usuarios Usuarios
Computadora Computadora
Programa fuente
print('Ingrese un número positivo par')
n1 Informático
= int(input()) Informático
if n1 > 0 and n1 % 2 == 0:
print('Ha ingresado un número positivo par')
else: Lenguaje natural Lenguaje natural
print('No ha ingresado un número positivo par')
print('')
Lenguaje de programación Lenguaje máquina Lenguaje de programación Lenguaje máquina
Compilador o
Programa fuente Programa fuente Programa objeto
Interprete
5/104 6/104
Univ ersidad de Piura Univ ersidad de Piura
5 6
1
TIOBE Index
7 8
9/104 10/104
Univ ersidad de Piura Univ ersidad de Piura
9 10
11/104 12/104
Univ ersidad de Piura Univ ersidad de Piura
11 12
2
Variables Nombres de variables en Python
Una variable es un espacio para almacenar datos modificables, en la
memoria de una computadora. En Python, una variable se define con • Los nombres de variables pueden contener letras,
la sintaxis:
números y el carácter de subrayado.
nombre_de_la_variable = valor_de_la_variable
Cada variable, tiene un nombre y un valor, el cual define a la vez, el • Los nombres de variables no pueden contener
tipo de datos de la variable. espacios.
Existe un tipo de “variable”, denominada constante, la cual se utiliza • Los nombres de variables no pueden comenzar con
para definir valores fijos, que no requieran ser modificados. un número.
• Mayúsculas/minúsculas: por ejemplo, temp y Temp
Utilizar nombres descriptivos y en minúsculas. Para nombres son diferentes.
compuestos, separar las palabras por guiones bajos.
13/104 14/104
Univ ersidad de Piura Univ ersidad de Piura
13 14
15/104 16/104
Univ ersidad de Piura Univ ersidad de Piura
15 16
17/104 18/104
Univ ersidad de Piura Univ ersidad de Piura
17 18
3
Ejemplos con variables y operadores
Operadores lógicos
aritméticos (expresiones):
monto_bruto = 175
tasa_interes = 12
monto_interes = monto_bruto * tasa_interes / 100
tasa_bonificacion = 5
importe_bonificacion = monto_bruto * tasa_bonificacion / 100
monto_neto = (monto_bruto - importe_bonificacion) + monto_interes
19/104 20/104
Univ ersidad de Piura Univ ersidad de Piura
19 20
mi_variable = 15
mi_variable = 15 # Este es de una línea también
21/104 22/104
Univ ersidad de Piura Univ ersidad de Piura
21 22
23 24
4
Recuerda que… Ejemplos de conversión
nombre = input('Por favor ingrese su nombre ')
La función input() retorna una cadena print('Por favor ingrese nota de práctica 1')
n1 = int(input())
print('Por favor ingrese nota de práctica 2')
n2 = int(input())
print('Por favor ingrese nota de práctica 3')
n3 = int(input())
s = n1 + n2 + n3
25 26
c = n1//n2
r = n1%n2
d = n1/n2
27/104 28/104
Univ ersidad de Piura Univ ersidad de Piura
27 28
29/104 30/104
Univ ersidad de Piura Univ ersidad de Piura
29 30
5
Para guardar programas de forma permanente, es necesario escribir el
Es importante código en archivos, que se conocen como módulos. Los módulos son
archivos de texto que contienen instrucciones Python. Se puede pedir al Mi primer programa
saber… intérprete de Python que ejecute las instrucciones almacenadas en tales
archivos cualquier número de veces, y de varias maneras, por líneas de
comandos del sistema, por clics de icono de archivo, por opciones en la
interfaz de usuario IDLE y más. Independientemente de cómo se ejecute, temp = input('¿Cuál es tu nombre? ')
Python ejecuta todo el código de un módulo de arriba abajo. print('Hola ' + temp + ', bienvenido...')
La terminología en este dominio puede variar un poco. Por ejemplo, los print('Adios...')
archivos de módulo a menudo se conocen como programas en Python. Los
archivos de módulo que se ejecutan directamente también se denominan
scripts, un término informal que normalmente significa un archivo de
programa de nivel superior. Algunos reservan el término "módulo" para un
archivo importado desde otro archivo.
31 32
33/104 34/104
Univ ersidad de Piura Univ ersidad de Piura
33 34
35/104 36/104
Univ ersidad de Piura Univ ersidad de Piura
35 36
6
“Corriendo” el programa Escriba y ejecute el programa siguiente
37 38
a = 10 a = 10
b = 20 b = 20
c = a + b
c = a + b
print(c)
Escriba c
Fin
39/104 40/104
Univ ersidad de Piura Univ ersidad de Piura
39 40
Ejercicios Ejercicio 1
Elaborar un programa que pida al usuario dos
números enteros, calcule la suma de éstos y la
muestre en la pantalla.
41/104 42/104
Univ ersidad de Piura Univ ersidad de Piura
41 42
7
Ejercicio 2 Teoría
Elaborar un programa que pida al usuario las
horas trabajadas, el pago por hora, calcule el
sueldo neto y lo muestre en la pantalla, sabiendo
lo siguiente:
43/104 44/104
Univ ersidad de Piura Univ ersidad de Piura
43 44
En los lenguajes de programación de computadoras, la indentación es un tipo de notación secundaria utilizado para mejorar la legibilidad del
código fuente por parte de los programadores, teniendo en cuenta que los compiladores o intérpretes raramente consideran los espacios en
blanco entre las sentencias de un programa. Sin embargo, en ciertos lenguajes de programación como Haskell, Occam y Python, el sangrado se
utiliza para delimitar la estructura del programa permitiendo establecer bloques de código.
Wikipedia
45/104 46/104
Univ ersidad de Piura Univ ersidad de Piura
45 46
47/104 48/104
Univ ersidad de Piura Univ ersidad de Piura
47 48
8
Selección simple
nota = int(input())
if nota < 11:
print('Desaprobado')
:
La sangría es
: obligatoria
49/104 50/104
Univ ersidad de Piura Univ ersidad de Piura
49 50
Selección Selección
• Para tomar decisiones respecto a qué se • El operador == se utiliza para comparar
debe hacer ante una determinada si dos números, textos, variables o
situación se utilizan las estructuras expresiones son iguales. Si son
de selección. iguales, se obtiene como respuesta
• if es una estructura de selección que VERDADERO, sino FALSO.
ejecuta lo que se encuentre contenido • El operador != se utiliza para comparar
en ella siempre que la condición sea desigualdad.
verdadera.
• La estructura if siempre debe ir con la
sangría correspondiente.
51/104 52/104
Univ ersidad de Piura Univ ersidad de Piura
51 52
Ejemplo Ejemplo
• En este ejemplo se evalúa si n1 es mayor o • Si la compra es mayor a $100, obtengo un descuento del 10%
igual que 18, en cuyo caso la condición del if
es verdadera y por lo tanto se muestran los importe_a_pagar = total_compra
mensajes contenidos dentro del if. if total_compra > 100:
tasa_descuento = 10
print('Por favor ingresa tu nota de PB') importe_descuento = total_compra * tasa_descuento / 100
n1 = int(input()) importe_a_pagar = total_compra – importe_descuento
if n1 >= 18:
print('Has ingresado más de 17')
print('Eres un genio :)')
print('Gracias por usar este programa')
53/104 54/104
Univ ersidad de Piura Univ ersidad de Piura
53 54
9
Selección doble Selección doble
Equivale a:
Inicio
Inicio
nota = int(input())
Lea
Lea Nota
if nota < 11:
Nota
NO
Nota<11
Nota<11
SÍ SÍ
Escriba
“Desaprobado”
print('Desaprobado')
NO else:
Escriba Escriba
“Aprobado”
Fin
“Desaprobado”
print('Aprobado')
Fin
55/104 56/104
Univ ersidad de Piura Univ ersidad de Piura
55 56
57/104 58/104
Univ ersidad de Piura Univ ersidad de Piura
57 58
semaforo = "verde"
if semaforo == "verde":
print("Cruzar la calle")
else:
print("Esperar")
59/104 60/104
Univ ersidad de Piura Univ ersidad de Piura
59 60
10
Selección anidada Selección múltiple
n1 = int(input()) • Hay una tercera estructura de selección: if-elif-else. A diferencia de
if n1 > 0: Doble sangría… la estructura if-else, esta estructura permite evaluar más de una
print('El número es positivo') condición.
if n1 > 100: • Se pueden utilizar tantos elif como sean necesarios. No es necesario
utilizar un else al final, es opcional (sólo si el algoritmo lo requiere).
print('El número es mayor que 100')
• Siempre debe utilizarse la correspondiente sangría.
else:
print('No es mayor que 100')
else:
print('El número no es positivo')
if-elif-else
61/104 62/104
Univ ersidad de Piura Univ ersidad de Piura
61 62
63 64
Ejercicio 3 Ejercicio 4
Elaborar un programa que pida al usuario tres Elaborar un programa que pida al usuario las
números enteros, calcule la suma de éstos y cuatro notas de un alumno, calcule el promedio
muestre un mensaje en la pantalla indicando si (simple) y muestre en la pantalla un mensaje
la suma es o no, mayor que 50. indicando si está aprobado o desaprobado.
65/104 66/104
Univ ersidad de Piura Univ ersidad de Piura
65 66
11
Ejercicio 5 Ejercicio 6 (para la casa)
Elaborar un programa que pida al usuario un Elaborar un programa que pida al usuario dos
número entero e indique luego en la pantalla si números: un entero que indique el número de
el número es par o impar. horas trabajadas durante la semana y un real
que indique el salario por hora de trabajo;
mostrar en la pantalla un mensaje indicando el
monto a pagar. Si las horas trabajadas exceden
las 48, el exceso deberá pagarse con un
incremento del 50%.
67/104 68/104
Univ ersidad de Piura Univ ersidad de Piura
67 68
69 70
71/104 72/104
Univ ersidad de Piura Univ ersidad de Piura
71 72
12
Inicio Con frecuencia se requiere que la Inicio
Inicio computadora haga la misma acción
una y otra vez, para eso son
I = 1 buenas. I = 1
I = 1 Cuando se le dice a la computadora
No
que repita algo, también se le debe
decir cuándo parar; las
i = 1 No
I <= 5 I <= 5
Escriba I
Sí
computadoras nunca se cansan así
que si no se les indica cuándo while Síi <= 5:
detenerse nunca lo harán.
I = I + 1 Escriba I Nos aseguramos que esto no pase
al indicarle a la computadora que
print(i)
Escriba I
Sí I = I + 1
repita un bloque de instrucciones
“mientras” (while) una iI ==I +i1 + 1
I <= 5 determinada condición sea
No verdadera.
Fin
Fin Fin
73/104 74/104
Univ ersidad de Piura Univ ersidad de Piura
73 74
Iteración Iteración
El bloque while, ejecutará las sentencias contenidas dentro del while Con el bloque for, al igual que while, el objetivo es ejecutar un
mientras la condición definida sea verdadera. En el caso mostrado, conjunto de sentencias una cantidad determinada de veces. Por
mientras i sea menor igual que 5. default la variable de control (i) se incrementa automáticamente de
uno en uno, comenzando en 0 hasta n-1.
i = 1
for i in range(n):
while i <= 5:
Sangría es print(i)
print(i)
obligatoria Repetir n veces
i = i + 1
75/104 76/104
Univ ersidad de Piura Univ ersidad de Piura
75 76
Iteración Ejercicios
Problema: escriba un programa que imprima la tabla de
multiplicación del 9 (desde 1 hasta 12).
for i in range(1,13):
print(i*9)
i = 1
while i <= 12:
print('9 x '+str(i)+' = '+str(i*9))
i = i + 1
77/104 78/104
Univ ersidad de Piura Univ ersidad de Piura
77 78
13
Ejercicio 8 Ejercicio 9
Elaborar un programa que pida al usuario un Elaborar un programa que permita determinar la
número entero (N) y luego muestre en la pantalla suma de los primeros mil números enteros
los N primeros números enteros (positivos). positivos.
79/104 80/104
Univ ersidad de Piura Univ ersidad de Piura
79 80
81/104 82/104
Univ ersidad de Piura Univ ersidad de Piura
81 82
83/104 84/104
Univ ersidad de Piura Univ ersidad de Piura
83 84
14
Función range Función range
La función de range es una herramienta general que se puede utilizar en una Los rangos también pueden ser no positivos y no ascendentes, si desea que así
variedad de contextos. Aunque se usa con mayor frecuencia para generar lo sean:
índices en un for, puede usarlo en cualquier lugar donde se necesite una lista de range(−5, 5) −5, −4, −3, −2, −1, 0, 1, 2, 3, 4
enteros. range(5, −5, −1) 5, 4, 3, 2, 1, 0, −1, −2, −3, −4
range(5) 0, 1, 2, 3, 4
Con un argumento, range genera una lista
de enteros desde cero hasta el valor del range(10) 0,1,2,3,4,5,6,7,8,9
range(2, 5) 2, 3, 4 argumento menos 1. Con dos argumentos,
range(1,10) 1,2,3,4,5,6,7,8,9
el primero se toma como el límite inferior.
Un tercer argumento establece el "paso"; range(3,7) 3,4,5,6
range(0, 10, 2) 0, 2, 4, 6, 8 si se utiliza, Python agrega el paso a cada
entero sucesivo en el resultado (el paso range(2,15,3) 2,5,8,11,14
predeterminado es 1). range(9,2,-1) 9,8,7,6,5,4,3
85/104 86/104
Univ ersidad de Piura Univ ersidad de Piura
85 86
0-A-3.3333333333333335-Dfinal1-A-3.3333333333333335-Dfinal
0XXAXXB
1XXAXXB 87/104 88/104
Univ ersidad de Piura Univ ersidad de Piura
87 88
89/104 90/104
Univ ersidad de Piura Univ ersidad de Piura
89 90
15
Ejercicio 12 Ejercicio 13
Elaborar un programa que pida al usuario Elabore un programa que determine y muestre,
ingresar las edades de varias personas y luego de en un conjunto de 10 números enteros
calcule la edad promedio y la muestre en la ingresados por el usuario, cuántos son menores
pantalla. Cada vez que el usuario ingrese una que 15, cuántos mayores que 50 y cuántos
edad, se debe mostrar en la pantalla: "Desea están comprendidos entre 15 y 50 (inclusive).
continuar (S/N)?” y esperar a que el usuario
responda; si éste escribe “N” el programa
mostrará el resultado y terminará, de lo contrario
pedirá una edad más.
91/104 92/104
Univ ersidad de Piura Univ ersidad de Piura
91 92
93 94
95 96
16
Teoría Números aleatorios
• Con el módulo random de la librería estándar de Python, es posible
obtener datos aleatorios. Entre los métodos de los cuáles dispone,
se destacan los siguientes:
Método Descripción
random.random() Retorna un número real entre 0 y 1
random.randrange(a, b) Retorna un número aleatorio entero entre a y b-1
random.randint(a, b) Retorna un número aleatorio entero entre a y b
97/104 98/104
Univ ersidad de Piura Univ ersidad de Piura
97 98
99/104 100/104
Univ ersidad de Piura Univ ersidad de Piura
99 100
101 102
17
Ejercicios 19 y 20 (para la casa) Hasta la próxima clase…
• Elabore un programa que calcule, a partir de un número
de días ingresado por el usuario ¿a cuántos años,
meses, semanas y días equivale? (asuma que 1 año
equivale a 365 días y 1 mes a 30 días).
103 104
18