0% encontró este documento útil (0 votos)
20 vistas

Introducción - Python V2

Cargado por

9
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
20 vistas

Introducción - Python V2

Cargado por

9
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 61

T​ABLA​ ​DE​ ​CONTENIDO

Python 5

Sitio Oficial 5

Opción 1: Descarga e instalación Python 5

Opción 2: Descarga e instalación con el entorno de Anaconda 5

Definición 5

Características del lenguaje 6

Herramientas básicas 6

Elementos del lenguaje 7

Palabras reservadas 7

Comentarios 8

De una sola línea 8

Multilínea 8

Variables 8

Constante 9

Tipos de datos 10

Expresiones 12

Operadores y expresiones 12

Operadores Aritméticos 12

Operadores Relacionales 13

Operadores Lógicos 14

Reglas para evaluar expresiones 14

Operadores para tipos de texto 16

Conversiones de tipos 16

Conversión numérico a texto 16


Conversión real a entero 17

Conversión entero a real 17

Conversión a lógico 17

Variables y asignación 18

Asignaciones Aumentadas 18

Instrucciones de Salida 19

Instrucciones de Entrada →input() 20

Lectura de cadenas de caracteres 20

Lectura de números enteros 21

Lectura de números decimales 21

Funciones 21

Algunas Funciones Predefinidas 21

Funciones Definidas en Módulos 22

Módulo math 23

Funciones propias 24

Elementos de una función 24

Crear una función 24

Llamado a una función 25

Alcance de las variables - scope de una función 25

Globales 25

Locales 26

Funciones o módulos 26

Estructuras de Control de Flujo 26

Control de flujo condicional 26

Condicional simple (Si) → if 27

Condicional compuesto (si - sino) → if else 27


Condicionales anidados → elif (sino - si) 28

Control de flujo repetitivo 30

while 30

for 32

Uso del range 32

Recorriendo elementos de una lista 35

Variables multivalor - Arreglos 36

Arreglos Unidimensionales - vectores 36

Operaciones con vectores 36

Crear un vector vacío: 36

Crear un vector para un número determinado de datos 37

Crear un vector con un número determinado de datos 38

Añadir un elemento al vector 38

Insertar un elemento al vector 39

Eliminar un elemento del vector 40

Determinar el número de elementos de un vector 40

Recuperar datos del vector 41

Modificar el valor de un elemento en el vector 41

Arreglos bidimensionales - matrices 42

Operaciones con matrices 42

Crear una matriz 42

Recuperar un elemento en la matriz 43

Modificar el valor de un elemento en la matriz 43

Número de filas en la matriz 44

Número de columnas en la matriz 44

Interfaz gráfica - Tkinter 45


Tipos de ventana 45

Ventana de aplicación 46

Ventanas de Diálogo - mensajes 48

Ventanas de Diálogo - Entrada de datos 51

Gestores de geometría 54

Gestor de geometría Pack 54

Gestor de geometría Grid 56

Gestor de geometría Place 58


P​YTHON

S​ITIO​ O​FICIAL
Acceda desde a
​ quí a
​ l sitio oficial de Python

O​PCIÓN​ 1: D​ESCARGA​ E​ ​ I​ NSTALACIÓN​ P​YTHON


Ingrese a ​Descarga e instalación versión 3.8.3 y descargue la versión
correspondiente a su sistema operativo.
Para el curso trabajaremos con la versión 3.8.3. El instalador es un archivo con
el nombre “​ python-3.8.3”.
Consulte aquí una ​guía de instalación de Python​.
La documentación la puede acceder desde el siguiente enlace: ​Documentación
o ​W3Shool.com

O​PCIÓN​ 2: D​ESCARGA​ E​ ​ I​ NSTALACIÓN​ C​ ON​ E​ L​ E​ NTORNO​ D


​ E​ A​NACONDA
Ingrese a ​descargar Anaconda y descargue la versión correspondiente a su
sistema operativo. Con esta opción se instala Python y el IDE de Spyder.

D​EFINICIÓN
Python es un lenguaje de programación diseñado por el holandés Guido Van
Rossum, a finales de los 80. Python es un lenguaje de código abierto, de alto
nivel, es un lenguaje interpretado, esto significa que, escribimos archivos
Python(.py) en un editor de texto, el archivo se le pasa al intérprete de Python
y este se encarga de traducir el programa poco a poco, leyendo y ejecutando
cada comando.
C​ARACTERÍSTICAS​ D
​ EL​ L​ ENGUAJE
● Multiplataforma: significa que puede ser interpretado en diversos
Sistemas Operativos como GNU/Linux, Windows, Mac OS, Solaris, entre
otros.
● Tipado dinámico: un lenguaje de tipado dinámico es aquel cuyas
variables, no requieren ser definidas asignando su tipo de datos, sino
que éste, se auto-asigna en tiempo de ejecución, según el valor
declarado.
● Multiparadigma: acepta diferentes paradigmas (técnicas) de
programación, tales como la orientación a objetos, aspectos, la
programación imperativa y funcional.
● Sintaxis simple, clara y sencilla
● Provee reglas de estilo (Python Enhancement Proposal No 8 (PEP 8)).
Con el fin de poder escribir código fuente más legible y de manera
estandarizada.
● Python se basa en la sangría, utilizando espacios en blanco, para definir
el alcance; tales como el alcance de bucles, funciones y clases. Otros
lenguajes de programación a menudo usan llaves para este propósito.

H​ERRAMIENTAS​ B​ ÁSICAS
Existen dos formas de ejecutar código Python. Podemos escribir líneas de
código en el intérprete y obtener una respuesta del intérprete para cada línea
(sesión interactiva) o bien podemos escribir el código de un programa en un
archivo de texto y ejecutarlo.

Para la sesión interactiva solo debe buscar el archivo IDLE(Python) y listo.


Para más información sobre el IDLE de Python puede consultar e
​ sta página​.

Esta es una de las opciones que tenemos para trabajar con Python, hay
alternativas como los IDE: Eclipse, Netbeans, o algunos editores como
NotePad++, Atom, Sublime Text, entre otros. Estos IDE cuentan con
autocompletado de código (con información sobre cada elemento), resaltado
de sintaxis, un depurador gráfico, resaltado de errores, explorador de clases,
formateo del código, refactorización, etc.

E​LEMENTOS​ D
​ EL​ L​ ENGUAJE
Las instrucciones (comandos, órdenes) tienen una apariencia diferente en
lenguajes de programación diferentes, pero existen algunas funciones básicas
que se presentan en casi todo lenguaje:

Salida​: Mostrar datos en el monitor o enviar datos a un archivo u otro aparato.


Entrada​: Recibir datos del teclado, o un archivo u otro aparato.
Matemáticas​: Ejecutar operaciones básicas de matemáticas como la adición y
la multiplicación.
Operación condicional: Probar la veracidad de alguna condición y ejecutar
una secuencia de instrucciones apropiada.
Repetición​: Ejecutar alguna acción repetidas veces, normalmente con alguna
variación.

P​ALABRAS​ R​ ESERVADAS
Python tiene 28 palabras reservadas las cuales son usadas para definir sus
reglas y estructura, a continuación la lista de estas:

C​OMENTARIOS
Los comentarios son notas que como programadores, indicamos en el código
para poder comprenderlo mejor. Los comentarios pueden ser:

D​E​ U
​ NA​ S​ OLA​ L​ ÍNEA
Para este tipo de comentario se utiliza el símbolo # como se muestra en el
ejemplo.

# esto es un comentario de una línea

M​ULTILÍNEA
Para este tipo de comentario se utiliza la triple comilla doble al inicio y al final
de las líneas que se desean comentar.

””” este es un comentario

de varias líneas ”””

V​ARIABLES
Todo valor en Python en un objeto. Una variable en python no es un
contenedor de un valor, sino un puntero al valor. La asignación no produce
una copia sino una referencia al objeto al que se asigna. En Python, una
variable se define con la sintaxis:

nombre_de_la_variable = valor_de_la_variable
Cada variable, tiene un nombre y un valor, el cual define a la vez, el tipo de
dato de la variable.

Python permite asignar valores a múltiples variables en una línea:


r, a, c = “Rojo”, “Amarillo”, “Cafe”

También es posible asignar el mismo valor a múltiples variables en una línea:


x = y = z = “Hola”

Usemos el intérprete:

C​ONSTANTE
Se utiliza para definir valores fijos, que no requieran ser modificados.
T​IPOS​ D
​ E​ D
​ ATOS
El lenguaje provee representaciones para conjuntos de valores, a estos les
llamamos tipos de datos

Una variable (o constante) puede contener valores de diversos tipos.


El tipo de dato se establece cuando asigna un valor a una variable.
Se puede consultar el tipo de una variable con la función t​ ype(variable)

Tipo de dato en Python Ejemplo

Números enteros: número entero , edad = 18


positivo o negativo, sin decimales ¿En qué año estamos?
de longitud ilimitada. ¿Cuántos habitantes tiene cali?

int

Números decimales: Flotante, o estatura = 1.75


"número de coma flotante" es un ¿Cual es la definitiva del curso?
número, positivo o negativo, que ¿Qué estatura tienes?
contiene uno o más decimales. ¿Cuánto es la distancia del mejor
salto de Caterine Ibargüen?
float
Texto, cadenas de caracteres: nombre = “Sara Sofia”
str nombre = ‘Sara Sofia’
¿Cómo te llamas?
¿En qué universidad estudias?

Valores lógicos - booleanos: existe = True


Cualquier cadena es True, excepto existe = False
las cadenas vacías. ¿Somos amigos?
Cualquier número es True, excepto ¿Eres mayor de edad?
0 y None.

bool
E​XPRESIONES
¿Cómo expresamos cálculos con Python?

Para expresar cálculos en Python necesitamos expresar ​operaciones ​y para


ello usamos símbolos, también conocidos como ​operadores de esta manera
expresamos cálculos que no son otra cosa que e
​ xpresiones​.

O​PERADORES​ Y​ ​ E​ XPRESIONES

O​PERADORES​ A​RITMÉTICOS

Operador Significado Ejemplo

+ Suma a = 10 + 5

- Resta a = 12 - 7

- Negación a = -5

* Multiplicación a=7*5
** Exponente a = 2 ** 3

/ División a = 12.5 / 2

// División entera a = 12.5 // 2

% Módulo - Residuo a = 27 % 4

O​PERADORES​ R​ELACIONALES
Estos operadores se utilizan para evaluar una condición y también se les
conoce como operadores de comparación.

Operador Significado

== Igual que

!= Distinto que
< Menor que

> Mayor que

<= Menor igual que

>= Mayor igual que

O​PERADORES​ L​ÓGICOS

Operador Ejemplo Resultado

and (y) 5 == 7 and 7 < 12 F and V → False


9 < 12 and 12 > 7 V and V → True
9 < 12 and 12 > 15 V and F → False

or (o) 12 == 12 or 15 < 7 V or F → True


7 > 5 or 9 > 12 V or F → True

not(negación) not(7 > 5 or 9 > 12) not(verdad) → False

R​EGLAS​ P​ ARA​ E​ VALUAR​ E​ XPRESIONES


Cuando aparece más de un operador en una expresión, el orden de evaluación
depende de las reglas de precedencia.

() → paréntesis
** → exponenciación

* / // → multiplicación, división

+- → suma, resta

Los operadores que tienen la misma precedencia se evalúan de izquierda a


derecha.

Ejemplo:

a = 59 * 100 / 60

Como los operadores * y / tienen la misma precedencia, se evalúan de


izquierda a derecha, de esta forma se realiza primero la multiplicación 59 *
100 y después la división 5900 / 60.

a = 5900 / 60

a = 98.333...

De esta forma el valor de a es 98.333..


O​PERADORES​ P​ ARA​ T​ IPOS​ D
​ E​ T​ EXTO

Operador Significado Ejemplo Resultado

+ Concatenación fruta1 = “Manzana” manzanaverde


fruta2 = “verde”
print(fruta1 + fruta2)

* repetición print(“Chiste” * 3) ChisteChisteChiste

C​ONVERSIONES​ D
​ E​ T​ IPOS

C​ONVERSIÓN​ N
​ UMÉRICO​ A​ ​ T​ EXTO
Para convertir un valor numérico a texto usamos la función ​str()
C​ONVERSIÓN​ R​ EAL​ A​ ​ E​ NTERO
Usamos la función i​ nt()

C​ONVERSIÓN​ E​ NTERO​ A​ ​ R​ EAL


Usamos la función f​ loat()

C​ONVERSIÓN​ A​ ​ L​ ÓGICO
0 ó “” es False, el resto es True
V​ARIABLES​ Y​ ​ A​ SIGNACIÓN

A​SIGNACIONES​ A​UMENTADAS

Operador Ejemplo Resultado

+= a = 5 el valor de a es 15
a += 10

-= a = 12 el valor de a es 5
a -= 7

*= a = 7 el valor de a es 35
a *= 5

/= a = 12.5 el valor de a es 6.25


a /= 2

//= a = 12.5 el valor de a es 6


a //= 2
I​NSTRUCCIONES​ D
​ E​ S​ALIDA
En Python se utiliza la función “​print​” para mostrar datos en el monitor.
Sintaxis:

print(Expresión)

print(“Bienvenidos a la programación con Python”

Usemos el intérprete para ver el uso de la función print


Para eliminar el salto de línea puede usar end=” ”

I​NSTRUCCIONES​ D
​ E​ E​NTRADA​ →​INPUT​()
Recibir datos del teclado. Para esto se necesita de un lugar donde guardar esa
información que ingresa y para ello usamos las variables.

variable = input(texto)

Nota: Input() siempre entrega texto - str

L​ECTURA​ D
​ E​ C​ ADENAS​ D
​ E​ C​ ARACTERES

nombre = input(“Digite su nombre: ”)


print (nombre)
L​ECTURA​ D
​ E​ N
​ ÚMEROS​ E​ NTEROS
La función int convierte una cadena de caracteres en un número entero.

numero1 = int (input(“Digite un número entero: ))

L​ECTURA​ D
​ E​ N
​ ÚMEROS​ D
​ ECIMALES
La función float convierte una cadena de caracteres en un número real.

numero2 = float(input(“Digite un número decimal: ”))

F​UNCIONES

Las funciones son segmentos de código que realizan una tarea en particular,
su utilidad en la programación es la reutilización.

Fragmento de código que recibe ​parámetros​, ejecuta acciones, y retorna un


resultado​.

A​LGUNAS​ F​UNCIONES​ P​REDEFINIDAS


➢ Función ​print​(). recibe como parámetro uno o más string y los muestra
en pantalla.
➢ Función ​input​(). recibe como parámetro un string y le pide al usuario
que ingrese contenido, esta función retorna el contenido.
➢ Función a ​ bs()​. Calcula el valor absoluto de un número.
Sintaxis:
abs(número) -- donde número es llamado el argumento de la función
➢ Función ​float()​. Si recibe un número entero como argumento, devuelve
el mismo número convertido en un flotante equivalente
Sintaxis:
float(número) -- donde número es llamado el argumento de la función
➢ Función ​int(). ​Si recibe un número flotante como argumento, devuelve
el mismo número convertido en un entero. Elimina la parte decimal.
Sintaxis:
int(número) -- donde número es llamado el argumento de la función
➢ Función ​str(). ​Convierte a cadena. Recibe un número y devuelve una
representación de este como cadena.
Sintaxis:
str(número) -- donde número es llamado el argumento de la función
➢ Función r​ ound(). ​Redondeo.

F​UNCIONES​ D​EFINIDAS​ E​ N​ M​ÓDULOS


Python también proporciona funciones trigonométricas,
logaritmos,arreglos,entre otras, pero no están disponibles cuando iniciamos
una sesión. Para utilizarlas tenemos que indicar a Python que vamos a
utilizarlas. Para esto hay que importar cada función de un módulo.

Métodos para importar un módulo:


❖ Primer método
import <nombre del módulo>
de esta manera quedan accesibles todos los elementos del módulo
dentro de nuestro programa.
Como llamar las funciones de este módulo:
modulo.funcion(argumentos)
❖ Segundo método
from <nombre módulo> import <elemento 1>, <elemento 2>
Como llamar las funciones de este módulo:
funcion(argumentos)
❖ Tercer método
from <nombre módulo> import <funcion> as <alias>
Como llamar las funciones de este módulo:
alias(argumentos)

❖ Cuarto método
from <nombre módulo> import *

M​ÓDULO​ M
​ ATH
Para utilizar las funciones de este módulo importamos así:

import math

ahora ya se pueden usar las funciones


Sintaxis para el uso de las funciones

math.funcion()

Funciones del módulo math

math también define algunas constantes como pi y e.

En esta página puede consultar las funciones de este módulo: ​Funciones


matemáticas

Números aleatorios
Python tiene un módulo incorporado llamado ​random ​que se puede usar para
generar números aleatorios.

Cadenas de texto
len(cadena): longitud de la cadena
cadena. strip(): para eliminar espacios en blanco desde el principio o el final.
cadena.lower(): devuelve la cadena en minúsculas.
cadena.upper(): devuelve la cadena en mayúsculas.
cadena.replace(c1, c2): reemplaza todos los caracteres c1 por c2 en la cadena.
cadena.split(“separador”): divide la cadena en subcadenas si encuentra
instancias del separador.
cadena.count(“caracter a buscar”): cuenta el número de ocurrencias del
carácter en la cadena
cadena.isupper(): retorna verdadero si la cadena esta en mayuscula, de lo
contrario False

F​UNCIONES​ P​ ROPIAS

E​LEMENTOS​ D
​ E​ U
​ NA​ F​ UNCIÓN
❖ Nombre de la función​:
❖ Parámetros​: Se escriben después del nombre de la función, entre
paréntesis y separados por coma. Son elementos que reciben una
función para luego poder trabajar con ellos. Pueden ser variables o
valores constantes. Estos parámetros se entregan al momento de
llamar la función, y se modifican según sea la necesidad.
❖ Resultado de la función: ​valor que entrega la función al terminar de
ejecutarse. Se utiliza la palabra clave return. Una vez que se llega al
retorno, se termina la ejecución de la función, por lo que la línea
después de el retorno nunca se ejecutará.

C​REAR​ U
​ NA​ F​ UNCIÓN
Las funciones en Python inician con la palabra reservada ​def ​seguido del
nombre de la función (recomendado en minúsculas) y los paréntesis () en los
cuales se incluyen los parámetros de la función y finaliza con los dos puntos “:”.

def ​nombreFuncion (parámetros):

Las instrucciones o cuerpo de la función se escriben con sangría (identación).


Las funciones pueden o no retornar un valor a quien lo ha llamado, para ello
hace uso de la palabra ​return ​seguido del nombre de la variable a retornar.
Para usar una función en un programa, es necesario primero hacer su
definición.

Nota: se sugiere definir las funciones al inicio del programa.

def nombre(parametro1, parametro2,...., parametron):


#Aquí las instrucciones o cuerpo de la función
valor = 0
return valor

L​LAMADO​ A​ ​ U
​ NA​ F​ UNCIÓN
Para usar una función, solo debe escribir el nombre de la función, seguido de
los paréntesis, los cuales pueden o no incluir argumentos(datos que la función
debe recibir para realizar su tarea), así:

nombreFuncion(argumento1, argumento2,., argumenton)

En caso de que la función no tenga argumentos el paréntesis estará vacío, así:

nombreFuncion( )

En caso de que la función retorna un valor, es importante tener una variable


para almacenar dicho valor de retorno, así:

variable = nombreFunción(argumento1, argumento2,....., argumenton)

variable = nombreFunción( )

Para más información sobre funciones, consulte e


​ sta página​.

A​LCANCE​ ​DE​ L​ AS​ V​ ARIABLES​ - ​SCOPE​ D


​ E​ U
​ NA​ F​ UNCIÓN
Las variables definidas dentro de una función no existen fuera de ella.

G​LOBALES
Las variables que se crean fuera de una función se llaman globales, estas
variables pueden ser usadas en todo el programa, tanto dentro de las
funciones como fuera de estas.
Cuando se crea una variable dentro de una función, esa variable es local y solo
puede usarse dentro de esa función.

Para modificar una variable global dentro de una función, se le debe


anteponer la palabra clave “global” a la variable.

L​OCALES
Son las variables que se crean(definen) dentro de una función, estas solo se
pueden usar dentro de la función ya que solo existen dentro de esta.

Dentro de una función se pueden leer variables globales (de un scope mayor o
externo), pero no modificarlas, para ello deberá usar la palabra reservada
global.

F​UNCIONES​ O
​ ​M
​ ÓDULOS
Un archivo Python con la extensión ​.py e
​ s un módulo. Los módulos tienen
conjuntos de funciones y constantes importables desde cualquier otro
programa.

E​STRUCTURAS​ D
​ E​ C​ONTROL​ D
​ E​ F​LUJO
Una estructura de control, es un bloque de código que permite agrupar
instrucciones de manera controlada.

Identación: la identación es lo que normalmente conocemos como sangría en


un texto, para el caso de Python, la identación es obligatoria ya que de esta
depende su estructura.

Las estructuras de control se definen de la siguiente forma:

inicio de la estructura de control:


expresiones
C​ONTROL​ D
​ E​ F​ LUJO​ C​ ONDICIONAL
“Los condicionales nos permiten comprobar condiciones y hacer que nuestro
programa se comporte de una forma u otra, que ejecute un fragmento de
1
código u otro, dependiendo de la condición evaluada”.

La condición evaluada es una expresión que da como resultado False o True.

Existen tres tipos de condicional así:

C​ONDICIONAL​ S​ IMPLE​ (S​I)​ → I​ F


Sintaxis​:

if condición:
instrucciones

Si la condición es verdadera, se realizan las instrucciones.


Nota​: tenga en cuenta la identación después de los dos puntos (:) ya que esta
es la que define el inicio y fin de la estructura.

Ejemplo:

1
Cita textual del libro “Python para todos de Raul Gonzáles Duque”
C​ONDICIONAL​ C​ OMPUESTO​ (​SI​ - ​SINO​) → I​ F​ E​ LSE
Sintaxis​:

if condición:
instrucciones1
else:
instrucciones2

Si la condición es verdadera, se realizan el primer bloque de instrucciones


(instrucciones1), si la condición es falsa, se realiza el segundo bloque de
instrucciones (instrucciones2).
Nota​: tenga en cuenta la identación después de los dos puntos (:) ya que esta
es la que define el inicio y fin de la estructura.

Ejemplo:

C​ONDICIONALES​ A​ NIDADOS​ → E​ LIF​ (​SINO​ - ​SI​)


Sintaxis​: Sintaxis​:

if condición1 : if condición1 :
instrucción 1 instrucción 1
elif condición2: elif condición2:
instrucción 2 instrucción 2
elif condición3: elif condición3:
instrucción 3 instrucción 3
………
else:
instrucción N

Nota​: tenga en cuenta la identación después de los dos puntos (:) ya que esta
es la que define el inicio y fin de la estructura o bloque.

Ejemplo:
Para más información sobre condicionales consulte ​esta página​.

C​ONTROL​ D
​ E​ F​ LUJO​ R​ EPETITIVO

Un bucle while permite repetir la ejecución de un grupo de instrucciones


mientras se cumpla una condición (es decir, mientras la condición tenga el
valor True).

WHILE
Sintaxis

while condición:
cuerpo del ciclo
La ejecución de esta estructura de control while es la siguiente:

● Python evalúa la condición:


● si el resultado es True se ejecuta el cuerpo del bucle. Una vez ejecutado
el cuerpo del bucle, se repite el proceso (se evalúa de nuevo la condición
y, si es cierta, se ejecuta de nuevo el cuerpo del bucle) una y otra vez
mientras la condición sea cierta.
● si el resultado es False, el cuerpo del bucle no se ejecuta y continúa 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 bucle while y modificarse en el bucle while.

Ejemplo:
Para más información sobre uso del ciclo While consulte e
​ sta página

FOR

Un bucle for es un bucle que repite el bloque de instrucciones un número


predeterminado de veces. El bloque de instrucciones que se repite se suele
llamar cuerpo del bucle y cada repetición se suele llamar iteración.

U​SO​ D
​ EL​ ​RANGE
Crear secuencia de números sobre las cuales iterar

● Se usa la expresión: range(fin)


● Range crea una secuencia de números, que parte desde cero y llega
hasta fin - 1.

Sintaxis
for i in range(valor entero):
Instrucciones

Ejemplo
for i in range(10):
print(i)

● range(inicio, fin) - crea una secuencia de números, que parte desde


inicio y llega hasta fin - 1.

Sintaxis
for i in range(inicio, fin):
Instrucciones

Ejemplo
for i in range(5,10):
print(i)

● range(inicio, fin, paso) - crea una secuencia de números, que parte de


inicio y llega hasta fin-1, avanzando de a paso números.
Sintaxis
for i in range(inicio, fin, paso):
Instrucciones

Ejemplo
for i in range(5,10,2):
print(i)
R​ECORRIENDO​ E​ LEMENTOS​ D
​ E​ U
​ NA​ L​ ISTA
El cuerpo del bucle se ejecuta tantas veces como elementos tenga el elemento
recorrible (elementos de una lista o de una cadena, etc.). Por ejemplo:

Sintaxis
for variable in elemento iterable (lista o cadena):
cuerpo del bucle

Ejemplo
for i in [‘a’,’b’,’c’,’d’]:
print(i)
Para más información sobre el ciclo for, consulte e
​ sta página​.

V​ARIABLES​ M
​ ULTIVALOR​ - A​RREGLOS
Debido a que Python no tiene una estructura para Arreglos, se llegó al acuerdo
que para el curso de algoritmia y programación vamos a simular los arreglos
con las listas, esto para facilitar el proceso de aprendizaje para los estudiantes.

A​RREGLOS​ U​NIDIMENSIONALES​ - ​VECTORES

O​PERACIONES​ C​ ON​ V​ ECTORES

C​REAR​ U
​ N​ V​ ECTOR​ V​ ACÍO​:
nombreArreglo = []

Ejemplo:
C​REAR​ U
​ N​ V​ ECTOR​ P​ ARA​ U
​ N​ N
​ ÚMERO​ D
​ ETERMINADO​ D
​ E​ D
​ ATOS
nombreAreglo = [None] * número de elementos

Ejemplo:
C​REAR​ U
​ N​ V​ ECTOR​ C​ ON​ U
​ N​ N
​ ÚMERO​ D
​ ETERMINADO​ D
​ E​ D
​ ATOS
nombreAreglo = [dato1, dato2, …, daton]

Ejemplo:

A​ÑADIR​ U
​ N​ E​ LEMENTO​ A​ L​ V​ ECTOR
Para añadir un elemento a un arreglo usamos la función append(). Siempre
añade el elemento al final del arreglo.

Aunque Python permite insertar datos de diferentes tipos en un arreglo, una


buena práctica de programación es que todos los elementos de un arreglo
sean del mismo tipo.

nombreArreglo.append(valor a agregar)
Ejemplo:

I​NSERTAR​ ​UN​ E​ LEMENTO​ A​ L​ V​ ECTOR


Para insertar un elemento a un arreglo usamos la función insert(). Inserta el
elemento en la posición que se indique.

Aunque Python permite insertar datos de diferentes tipos en un arreglo, una


buena práctica de programación es que todos los elementos de un arreglo
sean del mismo tipo.

nombreArreglo.insert(posición, valor a insertar)

Ejemplo:
E​LIMINAR​ ​UN​ E​ LEMENTO​ D
​ EL​ V​ ECTOR
Para eliminar un elemento en un arreglo usamos la función ​remove​().

nombreArreglo.remove(elemento a eliminar)

Tener en cuenta que si hay más de una coincidencia, se borra el primero que
encuentra.

Ejemplo:

Eliminar el último elemento del arreglo - pop() - elimina el último y lo muestra.

Ejemplo:

D​ETERMINAR​ E​ L​ N
​ ÚMERO​ D
​ E​ E​ LEMENTOS​ D
​ E​ U
​ N​ V​ ECTOR
Para determinar el número de elementos en un arreglo, usamos la función ​len

len(nombre del Arreglo)

Ejemplo:

R​ECUPERAR​ D
​ ATOS​ D
​ EL​ V​ ECTOR
Para recuperar datos de un arreglo, se debe indicar la posición(índice) del
elemento en el arreglo que se quiere recuperar.

nombre del Arreglo[posición del elemento]

Ejemplo

M​ODIFICAR​ E​ L​ V​ ALOR​ D
​ E​ U
​ N​ E​ LEMENTO​ E​ N​ E​ L​ V​ ECTOR
nombre del Arreglo[posición del elemento] = nuevo valor

Ejemplo:

A​RREGLOS​ B​ IDIMENSIONALES​ - ​MATRICES

O​PERACIONES​ C​ ON​ M
​ ATRICES

C​REAR​ U
​ NA​ M
​ ATRIZ

nombre matriz = [[valor_iniciar for c in range(n)] for f in


range(m)]

donde n es la cantidad de columnas y m es la cantidad de filas.

Ejemplo:
R​ECUPERAR​ U
​ N​ E​ LEMENTO​ E​ N​ L​ A​ M
​ ATRIZ

nombre de la matriz[fila][columna]

Ejemplo:

M​ODIFICAR​ E​ L​ V​ ALOR​ D
​ E​ U
​ N​ E​ LEMENTO​ E​ N​ L​ A​ M
​ ATRIZ

nombre de la matriz[fila][columna] = nuevo valor

Ejemplo:
N​ÚMERO​ D
​ E​ F​ ILAS​ E​ N​ L​ A​ M
​ ATRIZ
len(nombre matriz)

Ejemplo:

N​ÚMERO​ D
​ E​ C​ OLUMNAS​ E​ N​ L​ A​ M
​ ATRIZ
len(nombre matriz[0])

Ejemplo:
I​NTERFAZ​ ​GRÁFICA​ - T​KINTER
Tkinter es fácil de usar, es multiplataforma y, además, viene incluido con
Python en su versión para Windows, para Mac y para la mayoría de las
distribuciones GNU/Linux.

Para consultar la versión de tkinter instalada, inicie el entorno interactivo de


Python e introduzca:

>>import tkinter

>>tkinter.Tcl().eval('info patchlevel')

Documentación Python tkinter​ - ​Consulte aquí tkinter​ - ​Tkinterbook

Consulte aquí ttk

T​IPOS​ D
​ E​ V​ ENTANA
En tkinter tenemos dos tipos de ventanas:

❖ Ventanas de aplicación: ventanas que inician y finalizan las aplicaciones


gráficas y desde las que se accede a las ventanas de diálogo.
➢ Se define con Tk() - raiz = Tk()
➢ Los eventos son atendidos con el método mainloop -
raiz.mainloop()
❖ Ventanas de diálogo: permiten la comunicación con el usuario.
➢ Se define con Toplevel() - dialogo= Toplevel()
➢ Los eventos son atendidos con el método wait_window() -

En los dos tipos de ventana se puede hacer uso de los gestores de geometría
pack, grid y place.

El método mainloop hace que se atienda a los eventos de la ventana de


aplicación.

V​ENTANA​ ​DE​ A​ PLICACIÓN


Vamos a crear una ventana de aplicación, se debe tener en cuenta que para
crear la interfaz gráfica hay que disponer de un lienzo y en este se ubican
todos los controles necesarios en nuestra interfaz, a este lienzo se le conoce
como la ventana raiz.

Ejemplo:

Para esta ventana solo se necesitan estas tres líneas de código:


El archivo se debe guardar con extensión .py y ejecutarlo para ver el resultado.
Esta ventana incluye un marco en blanco y las funciones de minimizar,
maximizar y cerrar.

❖ En la primera línea de código se importa el módulo tkinter, todos sus


métodos y atributos.
❖ En la segunda línea se crea una clase llamada raíz del tipo Tk
❖ En la tercera línea se llama el método mainloop el cual es el encargado
de mantener visible la ventana raíz. Si se elimina esta línea la ventana no
se mantendrá visible

Personalizar la ventana

Existen métodos que permiten modificar los atributos de la ventana, algunos


de ellos son:

❖ title​: se usa para cambiar el título de la ventana.

raiz.title(“Título de la ventana”)

❖ geometry​: cambiar el tamaño de la ventana, este necesita que se le


indique el alto y el ancho (ambos valores en píxeles).

raiz.geometry(“altoxancho”)

❖ iconbitmap​: cambiar el icono que se muestra en la esquina superior


izquierda, se le debe pasar entre comillas doble el nombre de la imagen
que debe estar con la extensión .ico y guardado en el mismo lugar
donde se tiene el programa.

raiz.iconbitmap(“nombreIcono.ico”)

❖ config​: este permite configurar múltiples aspectos(propiedades) de la


ventana.
➢ bg (background): cambia el color de fondo. Se asigna el color de
fondo entre comillas doble, nombre del color en inglés o en
formato hexadecimal.

raiz.config(bg=”blue”) #​ cambia el color de fondo de la ventana raiz a azul


❖ resizable​: para evitar que el usuario pueda escalar(cambiar tamaño) la
ventana. Este método recibe 2 argumentos de tipo booleano numérico
donde el primer argumento pertenece al ancho y el segundo al alto.

raiz.resizable(0,0) # Ventana no escalable por el usuario

raiz.resizable(1,0) # Ventana donde se puede manipular solo el ancho

raiz.resizable(0,1) # Ventana donde se puede manipular solo el alto

raiz.resizable(1,1) #Ventana escalable por el usuario. Por defecto

V​ENTANAS​ D
​ E​ D​IÁLOGO​ - ​MENSAJES
Cuadros de diálogo o ventanas de diálogo, son usadas para interactuar con el
usuario (mostrar o pedir información).

Para su uso debe importar el módulo : f​ rom tkinter import messagebox.

❖ messagebox ​: es la ventana emergente por excelencia, pero tiene


algunas variantes: ventana con opción de aceptar, alerta para informar
excepciones o errores y las de aceptar o rechazar.
➢ showinfo​: sirve para mostrar un mensaje

messagebox.showinfo(title= “Este es el título”, message= “Este es


el mensaje”)

➢ showwarning​: sirve para mostrar un diálogo con mensaje de


alerta.

messagebox.showwarning(message="Mensaje!", title="Título")
➢ showerror​: muestra un diálogo con un mensaje de error.

messagebox.showerror(message="Mensaje!", title="Título")

➢ askquestion​: Preguntas con respuesta de Sí(yes) o No( no).

messagebox.askquestion(message="¿ ?", title="Título")

Si el usuario presiona el botón ​Sí retorna el valor de yes y el


botón N​ o​ retorna​ no​.

➢ askyesno​: preguntas con respuesta de Sí(True) o No(False)


Si el usuario presiona el botón Sí se retorna el valor de True y el
botón No retorna False.

➢ askokcancel: ​pregunta con respuesta de Aceptar(True) o


Cancelar(False)

messagebox.askokcancel(message="¿ ?", title="Título")

Si el usuario presiona el botón Aceptar retorna el valor de True y


el botón cancelar retorna False.

➢ askyesnocancel​: preguntas con respuesta de Sí(True), No(False)


o Cancelar(None)

messagebox.askyesnocancel(message="¿ ?", title="Título")


Si el usuario presiona el botón si se retorna el valor de True, el
botón no retorna False y cancelar retorna None.

➢ askretrycancel​: pregunta con respuesta de Reintentar(True) o


Cancelar(False)

messagebox.askretrycancel(message="¿ ?", title="Título")

Si el usuario presiona el botón reintentar se retorna el valor de


True y el botón cancelar retorna False.

V​ENTANAS​ D
​ E​ D​IÁLOGO​ - E​NTRADA​ D
​ E​ D
​ ATOS
Permiten pedir al usuario un valor de dato, puede ser una cadena, un número.
Para esto usamos el ​simpledialog

El usuario ingresa el valor solicitado y presiona ​ok ​o c ​ ancelar​, en caso de


presionar ​ok​, devuelve el valor digitado por el usuario. Si el usuario presiona
Cancel​, devuelve N​ one

Para hacer uso del simpledialog, se debe importar: ​fr​ om tkinter import
simpledialog.

❖ askstring :​ pregunta cuya respuesta es texto.


❖ askinteger​: pregunta cuya respuesta es un valor entero.
❖ askfloat​: pregunta cuya respuesta es un valor real.

nombre = simpledialog.askstring( “Título ventana”, “¿Cuál es su nombre: ?”)


edad = simpledialog.askinteger("Entrada edad", "¿Cuál es su edad: ?")

estatura = simpledialog.askfloat("Entrada estatura", "¿Cuál es su estatura: ?")

Ejemplo Ventana raiz


Tenga en cuenta que para construir las ventanas también se pueden utilizar
unos widgets entre ellos los marcos y los paneles, etc., estos actúan como
contenedores de otros widgets, pero son usados para agrupar varios
controles.

Frame

Permite definir un widget de tipo 'Frame' (marco) que será el contenedor de


otros widgets. El marco se situará en la ventana 'raiz' ocupando toda su
extensión.

marco = Frame(raiz)
Propiedades:

​ arco.config(propiedades separadas por coma)


m

❖ config​: modificar propiedades del marco.


➢ width: alto
➢ height: ancho
➢ bg: color fondo
➢ bd: define un borde con dimensión en píxeles.
➢ relief​: añade efectos al borde. Permite los siguientes valores:
FLAT (llano), RAISED (elevado), SUNKEN (hundido), GROOVE
(hendidura) y RIDGE (borde elevado).
➢ padding​: añade espacio extra interior para que los widgets no
queden pegados al borde del marco.
➢ cursor: tipo de cursor en el marco

LabelFrame

Permite definir un widget de tipo 'Frame' (marco) pero con etiqueta, que será
el contenedor de otros widgets. El marco se situará en la ventana 'raiz'
ocupando toda su extensión.

G​ESTORES​ D
​ E​ G
​ EOMETRÍA
Los gestores de geometría permiten definir el modo en que se van a organizar
los widgets(controles) dentro de la ventana.

Tkinter dispone de tres gestores: pack, grid y place.

G​ESTOR​ D
​ E​ G
​ EOMETRÍA​ P​ACK
Este gestor permite distribuir los controles teniendo en cuenta los lados de la
ventana: arriba, abajo, derecha e izquierda.

nombreControl.pack(propiedad o propiedades separadas por coma)

Propiedades del pack

❖ side​: se utiliza para ubicar el control. Tiene tres opciones - TOP (arriba),
BOTTOM (abajo), LEFT (izquierda) y RIGHT (derecha). Si se omite, el valor
será TOP
❖ fill: ​se utiliza para indicar al gestor cómo expandir/reducir el widget si la
ventana cambia de tamaño. Tiene tres posibles valores:
BOTH(Horizontal y Verticalmente), X (Horizontalmente) e Y
(Verticalmente). Funcionará si el valor de la opción 'expand' es True.
❖ padx ​y ​pady: ​se utilizan para añadir espacio extra externo horizontal
y/o vertical a los widgets para separarlos entre sí y de los bordes de la
ventana. Hay otras equivalentes que añaden espacio extra interno:
ipadx y ​ i​ pady​.

Ejemplo​:
G​ESTOR​ D
​ E​ G
​ EOMETRÍA​ G​RID
Este gestor permite gestionar la distribución de los controles en la ventana
como si estuvieran en una rejilla (filas y columnas). De este modo, cada
control se debe ubicar en una fila y una columna. Tenga en cuenta que un
control puede ocupar varias filas y/o columnas.

nombreControl.grid(propiedad o propiedades separados por coma)

Propiedades:
❖ row​: indica el número de fila donde hay que colocar un widget.
❖ column: ​indica el número de columna donde hay que colocar un
widget.
❖ columnspan: ​indica al gestor que el widget ocupará en total un número
determinado de columnas.
❖ sticky​: Cuando un widget se ubica en el grid se coloca en el centro de
su celda o cuadro. Con 'sticky' se establece el comportamiento
'pegajoso' que tendrá el widget dentro de su celda, cuando se modifique
la dimensión de la ventana. Para ello, se utilizan para expresar sus
valores los puntos cardinales: N (Norte), S (Sur), (E) Este y (W) Oeste.

Para que esta propiedad funcione de manera adecuada es necesario


activar la propiedad. La activación se hace por contenedores y por filas
y columnas asignando un peso a la opción 'weight'. Esta opción asigna
un peso (relativo) que se utiliza para distribuir el espacio adicional entre
columnas y/o filas. Cuando se expanda la ventana, una columna o fila
con un peso 2 crecerá dos veces más rápido que una columna (o fila)
con peso 1. El valor predeterminado es 0 que significa que la columna o
fila no crecerá nada en absoluto.

Lo habitual es asignar pesos a filas o columnas donde hay celdas con


widgets.

raiz/Frame.columnconfigure(numero columna, weigth = peso)

raiz/Frame.rowconfigure(numero fila, weigth = peso)

Ejemplo:
G​ESTOR​ D
​ E​ G
​ EOMETRÍA​ P​LACE
Este gestor permite organizar los controles dentro de la ventana indicando su
posición mediante coordenadas x y y. Se basa en el posicionamiento absoluto.

Para ubicar un control con este gestor solo se debe indicar la coordenada(x,y)
de su ubicación expresada en píxeles.
La esquina superior izquierda de la vent hace referencia a la posición (x=0,
y=0).

control.place(x=? , y=?)

Ejemplo:
Nota: Las variables de control son objetos especiales que se asocian a los
widgets para almacenar sus valores y facilitar su disponibilidad en otras partes
del programa. Cuando una variable de control cambia de valor el widget que
la utiliza lo refleja automáticamente, y viceversa.

También podría gustarte