Guia Programacion en Python
Guia Programacion en Python
Guia Programacion en Python
Hay dos tipos de programas que traducen lenguajes de alto nivel a lenguajes de bajo
nivel: intérpretes y compiladores. Un intérprete lee un programa de alto nivel y lo
ejecuta, lo que significa que lleva a cabo lo que indica el programa. Es decir, traduce el
programa poco a poco, leyendo y ejecutando cada comando.
Prof: F Duran.
Programación I Introducción al Python………….. 2
Muchos de los lenguajes modernos usan ambos tipos de programas de traducción. Estos
lenguajes se traducen primero a un lenguaje de bajo nivel, llamado código de bytes, y
después son interpretados por un programa denominado máquina virtual. Aunque Python usa
ambos tipos de programas de traducción, usualmente se le considera un lenguaje interpretado
debido a la manera en que los programadores interactúan con él.
Identificadores
Un identificador es un nombre que identifica a una variable, a un método o función
miembro, a una clase. Todos los lenguajes tienen ciertas reglas para componer los
identificadores:
Todos los identificadores han de comenzar con una letra, o el carácter subrayado
(_).
Luego sigue con una secuencia de letras, números y guiones bajos. Los espacios no
están permitidos dentro de los identificadores.
Distingue entre letras mayúsculas y minúsculas
No se pueden utilizar las palabras reservadas como identificadores
Además de estas restricciones, hay ciertas convenciones que hacen que el programa sea más
legible, pero que no afectan a la ejecución del programa. La primera y fundamental es la
de encontrar un nombre que sea significativo, de modo que el programa sea lo más legible
posible. El tiempo que se pretende ahorrar eligiendo nombres cortos y poco significativos
se pierde con creces cuando se revisa el programa después de cierto tiempo.
Prof: F Duran.
Programación I Introducción al Python………….. 3
Tipo de
Convención Ejemplo
identificador
nombre de una Comienza por letra String, Rectangulo,
clase mayúscula CinematicaApplet
comienza con letra calcularArea, getValue,
nombre de función
minúscula setColor
comienza por letra
nombre de variable area, color, appletSize
minúscula
nombre de
En letras mayúsculas PI, MAX_ANCHO
constante
Palabras Reservadas
Python reserva palabras para describir la estructura del programa, y no permite que se
usen como identificadores. Cuando en un programa nos encontramos con que un nombre no es
admitido pese a que su formato es válido, seguramente se trata de una de las palabras de
esta lista, a la que llamaremos de palabras reservadas. Esta es la lista completa de las
palabras reservadas de Python:
Habitualmente, usaremos comentarios en una sola línea para lo cual el comentario debe
comenzar con #, ejemplo:
Prof: F Duran.
Programación I Introducción al Python………….. 4
mi_variable = 15 # Este comentario es de una línea también
Comentarios en la misma línea del código deben separarse con dos espacios en blanco.
Luego del símbolo # debe ir un solo espacio en blanco.
Sentencias
Una sentencia es una orden que se le da al programa para realizar una tarea específica,
esta puede ser: mostrar un mensaje en la pantalla, inicializar una variable, llamar a una
función, etc.
Prof: F Duran.
Programación I Introducción al Python………….. 5
Observe que en el último ejemplo hemos agregado al final del número la letra L para
indicar el tipo entero largo
Impuesto = 123.45 # Esta sería una variable real
Nombre = “Andrés Gómez” # Esta sería una variable de cadena
Bandera = True # Esta sería una variable lógica
En Python es posibles hacer la asignación múltiple por ejemplo:
x = p = Z = 0 # Tanto x, p y z son variables enteras con el valor de cero
genero = estado = False # Tanto genero como estados tendran el valor de False
Símbolo Identificación
** Exponenciación binario
- Cambio de signo, unario
* Multiplicación binario
/ División real, binario
% Modulo, binario
// División entera, binario
+ Suma, binario
- Resta, binario
Exponenciación: cuando a y b son dos números enteros la operación puede definirse como
a**b como equivalente a la potencia. Sin embargo cierto número de problemas físicos
concretos llevaron a tratar de generalizar la fórmula anterior a valores de b no enteros.
Cuando b = 1/2 la operación equivale a una raíz cuadrada, si b = 1/3 seria la raíz
cubica.
Cambio de signo: cambia el signo de su operando, si A es una variable entera cuyo
contenido es -3 entonces –A implica como resultado 3.
+, -, *: estos tres operadores efectúan la suma, resta y multiplicación respectivamente
tanto de reales como enteros dando como resultado un numero real o entero dependiendo del
tipo de los operando haciendo notar que si un operando es entero y el otro es real el
resultado será real.
Operadores de la división: aquí encontramos tres operadores distintos los cuales son:
/: Realiza la división real o división ordinaria; el resultado es de tipo real, se usa
con operadores reales y enteros ejemplos: ¾ = 0.75, 4/2 = 2.0; 3.5/2 = 1.75.
%: Retorna el residuo o resto de una división:
3 % 4 3, 4 % 0, 3 % 2 1.
7.5 // 3 1.5
Operadores Relaciónales: son operadores que comprueban una relación entre dos operandos
dando como resultado una constante lógica (true, false), estos operadores son todos
binarios, y son:
Prof: F Duran.
Programación I Introducción al Python………….. 6
Operador Significado Ejemplo Resultado
== Igual a 1 == 2 False
!= Diferente de 1 != 2 True
> Mayor que 1 > 2 False
< Menor que 1 < 2 True
>= Mayor o igual que 1 >= 2 False
<= Menor o igual que 1 <= 2 True
Se pueden aplicar a cualquier tipo de dato estándar: entero, real, de caracter. Cuando se
utilizan con caracteres esta comparación se hace en base a una secuencia de ordenamiento
la cual se establece en un código internacional llamado código ASCII, en el cual los
caracteres alfabéticos de la “A” a la “Z” quedan representados por los valores enteros
comprendidos entre el 65 y el 90, los caracteres alfabéticos en minúscula de la “a” a
la “z” representados por los enteros comprendidos entre el 97 y el 122, de tal manera que
si hacemos las siguientes comparaciones sus resultados serán:
“A” > “B” False
“a” < “z” True
“A” < “a” True
Al usar operadores relacionales los operandos que se comparan deben ser del mismo tipo,
con la excepción de que es posible comparar enteros con reales.
P Q P and Q
True True True
True False False
False True False
False False false
or: la expresión lógica donde se use tiene el valor de true cuando al menos uno de sus
operandos es true en caso contrario tendrá el valor false ejemplo: sean P y Q dos
variables lógicas
P Q P or Q
True True True
True False True
False True True
False False false
Prof: F Duran.
Programación I Introducción al Python………….. 7
Operador de Asignación: la operación de asignación asigna el valor de la expresión de la
derecha a la variable situada a la izquierda y se representa con el símbolo =, el formato
general de la expresión de asignación es:
Variable = Expresión
Ejemplo: Total = 5, significa que a la variable Total se le asigna el valor 5, la
acción de asignar es destructiva ya que le valor que tuviera la variable antes de la
asignación se pierde y se reemplaza por el nuevo valor.
Ejemplo: sean Z, A y B variables numéricas Z = A + B, aquí la asignación se ejecuta en
dos pasos básicos:
1. Se determina el valor de expresión (A + B) que está a la derecha del operador de
asignación.
2. Se almacena el valor obtenido en la variable cuyo nombre aparece a la izquierda del
operador de asignación sustituyendo así su valor anterior.
Es posible utilizar la misma variable tanto a la derecha y como a la izquierda del
operador de asignación, puesto que primero se evalúa la expresión, tomando el valor
actual de la variable ejemplo Total = Total + 1, aquí estamos indicando que el valor
actual de Total se incrementa en uno y el resultado se le asigna a la misma variable, de
manera que si el valor actual de Total es 5 una vez evaluada la expresión el valor de
Total será 6.
El tipo de la variable de la izquierda debe ser igual al tipo del valor resultante de la
expresión de la derecha. Aparte de este operador existen otros operadores de asignación
como son: -=, +=, *=, /=, %=, //= estos función de la siguiente manera:
a += 1 esto es equivalente a: a = a + 1
b *= c esto es equivalente a: b = b * c
Prioridad Operador
1 **
2 -
3 *, /, //, %
4 +. -
5 <, >, <=, >=
6 ==, !=
7 =, %=, //=, /=, *=, -=, +=, **=
8 and, or, not
Prof: F Duran.
Programación I Introducción al Python………….. 8
Segundo como la suma y la resta están a un mismo nivel de precedencia, primero se
efectúa la suma y luego la resta dando como resultado: 62
Supongamos que quisiéramos en la expresión anterior que la suma se evaluara primero que
las otras operaciones, para ello debemos cambiar la prioridad de los operadores
utilizando los paréntesis -( )- , el uso de los mismos indica que las operaciones
encerradas entre paréntesis deben evaluarse primero, quedando la expresión así:
(8 + 7) * 8 – 4 / 2
Esto da como resultado 118, evaluándose primero la suma seguido de la multiplicación y
la división quedando para el final la resta. Sea la siguiente expresión:
(3 * (6 + 2) * 8)
Los paréntesis interiores se procesan primero, dando resultado 8 este valor se multiplica
por 3 resultando 24 y este a su vez por 8 dando como resultado final 192.
Operadores de cadenas
Con las cadenas podemos usar el operador + y *, el primero lo usaremos para concatenar
cadenas de caracteres, este procedimiento permite unir cadenas de caracteres ejemplo:
“La casa” + “Azul” “La casaAzul”
“La casa” + “ “ + “Azul” “La casa Azul”
En el caso del operador * el efecto es el siguiente:
“La casa” * 3 “LacasaLacasaLacasa” que sería equivalente a:
“La casa” + “La casa” + “La casa”
Estructuras de Control
Cualquier programa, sin importa su complejidad se puede construir combinando estas dos
estructuras: Secuencial y estructuras de control.
Estructura Secuencial: significa que los pasos de un programa se ejecutan en secuencia,
uno detrás del otro, en el orden en que están situados en el programa.
Estructuras de Control: son estructuras que afectan el flujo normal de un programa,
estas se dividen en Selectivas y Repetitivas (Ciclos).
Estructuras Selectivas: permiten determinar un sentido de acción en el flujo del
programa sobre la base de la evaluación de una determinada condición, se usan para tomar
decisiones lógicas, en ellas se evalúa una expresión lógica y en función del resultado de
la misma se ejecutan o no una secuencia de pasos en el programa.
Estructuras Repetitivas o ciclos: permiten repetir automáticamente un grupo de
instrucciones, ya sea un número determinado de veces o mientras que una condición
particular se cumpla. Son aquellas que permiten que una operación o conjunto de ellas se
repitan muchas veces.
Identación
Para hablar de estructuras de control en Python debemos hablar de Identación, que
significa hacer espacios en blanco hacia la derecha para mover una línea de código, en
Python se aplica la identación para indicar que las instrucciones identadas forman un
bloque de código asociado a una misma estructura de control.
Simples
Dobles.
Múltiples.
Prof: F Duran.
Programación I Introducción al Python………….. 9
Sintaxis
if condición:
instrucción
instrucción
La primera línea contiene la condición a evaluar después del if y es una expresión
lógica. Esta línea debe terminar siempre por dos puntos (:), a continuación viene el
bloque de órdenes que se ejecutan cuando la condición se cumple (es decir, cuando la
condición es True). Es importante señalar que este bloque debe ir identado, puesto que
Python utiliza el mismo para reconocer las líneas que forman un bloque de instrucciones.
Al escribir dos puntos (:) al final de una línea, el IDE sangrará automáticamente las
líneas siguientes. Para terminar un bloque, basta con volver al principio de la línea. Un
ejemplo de esto sería:
if condición:
instrucción
instrucción
else:
instrucción
instrucción
La primera línea contiene la condición a evaluar. Esta línea debe terminar siempre por
dos puntos (:), a continuación viene el bloque de órdenes que se ejecutan cuando la
condición se cumple, todas las instrucciones que están entre los dos puntos y el else (es
decir, cuando la condición es True), este bloque debe ir identado,
Después viene la línea con la orden else, que indica a Python que el bloque que viene a
continuación se tiene que ejecutar cuando la condición no se cumpla (es decir, cuando sea
False). Esta línea también debe terminar siempre por dos puntos (:). La línea con la
orden else no debe incluir nada más que el else y los dos puntos, seguido está el bloque
de instrucciones identado que corresponde al else. Un ejemplo de esto sería:
El programa anterior "adivina" el número pensado por el usuario, el cual debe pensar en un numero en el intervalo 1 – 4,
a continuación el programa hace una serie de preguntas para adivinar el numero pensado por usted.
if condición_1:
bloque_1
elif condición_2:
bloque_2
else:
bloque_3
if condición_1:
bloque_1
else:
if condición_2:
bloque_2
else:
bloque_3
Se pueden escribir tantos bloques elif como sean necesarios. El bloque else (que es
opcional) se ejecuta si no se cumple ninguna de las condiciones anteriores y debe ser la
última de la estructura si se usa, esto significa que no puede haber un else antes de un
elif.
Prof: F Duran.
Programación I Introducción al Python………….. 11
Ejemplo:
edad = int(input("¿Cuántos años tiene? "))
if edad < 0:
print("No se puede tener una edad negativa")
elif edad >= 0 and edad < 18:
print("Es usted menor de edad")
else:
print("Es usted mayor de edad")
Estructuras Repetitivas
En muchos problemas se requiere que algunos cálculos o grupos de instrucciones se
repitan una y otra vez, a continuación procederemos a examinar las diferentes
estructuras que se utilizan para construir secciones de código repetitivas, como son:
for y while
Definiciones básicas:
Variable contadora: variable que se modifica así misma para llevar el computo de veces
que ocurre un suceso, evento o situación, este tipo de variables su incremento es un
valor constante: A = A + valor_constante o A += valor_conatnate.
Variable acumuladora: variable que se modifica así misma para acumular un valor variable:
B = B + valor_variable o B += valor_variable.
Variable Bandera: variable que cambia su valor para indicar que algún suceso o evento ha
tenido lugar, cambia de un valor a otro como de cero a uno o de falso a cierto.
Porcentaje: número de elementos de una lista que cumplen con una condición entre la
cantidad de elementos a los cuales se les comprobó si cumplen o no con la condición por
cien.
Promedio: sumatoria de un valor de una lista entre número de elementos sumados.
Prof: F Duran.
Programación I Introducción al Python………….. 12
Salida:
26
22
18
14
Ejemplo en el cual pediremos la nota obtenida por 4 alumnos en un curso de computación y
procederemos a calcular el promedio del curso.
nota = 0
suma = 0
promedio = 0.0
for x in range(4):
nota = int(input("Nota de un alumno: "))
suma += nota
promedio = suma / 4
print("Promedio del curso: " + str(promedio))
Prof: F Duran.
Programación I Introducción al Python………….. 13
Entrada y Salida:
Nota de un alumno: 10
Nota de un alumno: 5
Nota de un alumno: 12
Nota de un alumno: 13
Promedio del curso: 10.0
Las primeras tres líneas se inicializan tres variables las dos primeras enteras y la
tercera real.
El encabezado del ciclo for nos indica que se ejecutar un ciclo for de 4 iteraciones la
variable x controlara el valor de cada iteración.
Por cada iteración del ciclo se pedirá por consola la nota de un alumno que se almacena
en la variable nota y esta se acumulara en la variable suma.
Al terminar el ciclo se calcula el promedio y se muestra por consola su valor.
Ciclos While...
Cuando el flujo del programa alcanza la instrucción while, Python evalúa la condición y,
si es cierta (True), ejecuta el grupo de instrucciones que forman parte del cuerpo del
ciclo. Una vez ejecutado el cuerpo del ciclo, se repite el proceso (se evalúa de nuevo la
condición y, si es cierta, se ejecuta de nuevo el cuerpo del ciclo) una y otra vez
mientras la condición sea cierta. Únicamente cuando la condición sea falsa, el cuerpo del
ciclo no se ejecutará y continuará la ejecución del resto del programa.
La variable o las variables que aparezcan en la condición se suelen llamar variables de
control. Las variables de control deben definirse antes del ciclo while y modificarse en
el cuerpo del ciclo while.
Ejemplo en el cual el programa escribe los números del 1 al 3.
i = 1 Salida:
while i <= 3: 1
print(i) 2
i += 1
3
print("Programa terminado")
Programa terminado
Entrada y salida:
Escriba un número positivo: -4
¡Ha escrito un número negativo! Inténtelo de nuevo
Escriba un número positivo: -8
¡Ha escrito un número negativo! Inténtelo de nuevo
Escriba un número positivo: 9
Gracias por su colaboración
Ciclos infinitos
Funciones matemáticas
Prof: F Duran.