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

Apuntes Basico Python

Este documento trata sobre un curso básico de Python. Explica conceptos como algoritmos, tipos de datos, variables, operadores, condicionales y bucles. También incluye ejemplos como un conversor de monedas y proyectos para reforzar los conceptos.

Cargado por

Andres Alfonso
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)
105 vistas

Apuntes Basico Python

Este documento trata sobre un curso básico de Python. Explica conceptos como algoritmos, tipos de datos, variables, operadores, condicionales y bucles. También incluye ejemplos como un conversor de monedas y proyectos para reforzar los conceptos.

Cargado por

Andres Alfonso
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/ 44

Curso basico de python

Contenido
Curso basico de python ....................................................................................................................... 1
¿Qué es un algoritmo? .................................................................................................................... 2
Instalación de herramientas para programar ................................................................................. 3
Consola ............................................................................................................................................ 3
Operadores aritméticos .................................................................................................................. 3
Variables .......................................................................................................................................... 4
Los primitivos: tipos de datos sencillos ........................................................................................... 5
Convertir un dato a un tipo diferente ............................................................................................. 6
Operadores lógicos y de comparación ............................................................................................ 7
Primer programa: conversor de monedas ...................................................................................... 9
Condicionales ................................................................................................................................ 11
Varios países en el conversor de monedas ................................................................................... 12
Funciones ...................................................................................................................................... 15
Aplicando funciones al conversor de monedas ............................................................................ 17
Cadenas de caracteres .................................................................................................................. 19
Slices .............................................................................................................................................. 21
Proyecto: Palíndromo.................................................................................................................... 22
Bucles ............................................................................................................................................ 23
Bucle while .................................................................................................................................... 24
Bucle FOR ...................................................................................................................................... 25
Recorriendo un string con for ....................................................................................................... 27
Interrumpir ciclos con break y continue ....................................................................................... 28
Proyecto prueba de primalidad .................................................................................................... 31
Proyecto: video juego ................................................................................................................... 34
Almacenar varios valores en una variable: listas .......................................................................... 35
Tuplas ............................................................................................................................................ 38
Diccionarios ................................................................................................................................... 39
Proyecto: generador de contraseñas ............................................................................................ 43
Un DevOps es el encargado de mantener toda la infraestructura a partir de la cual funciona una
aplicación.

Python funciona bien en los siguientes campos

¿Qué es un algoritmo?
Es una serie de pasos ordenados para resolver un problema.

• Serie de pasos ordenados para resolver un problema


• Finito
• No es ambiguo: No se puede tener un paso que un contexto signifique una cosa y en otor
contexto otra cosa

Instalación de herramientas para programar


1. Editor de código: Visual studio code, PYChar, Sublime text, Atom.
https://code.visualstudio.com/
2. Consola: Manejar la computadora sin necesidad de la interfaz gráfica. CMD, PowerShell,
Cmder. https://cmder.net/
3. Lenguaje: Python. https://www.python.org/

Consola
CTRL+L: Limpiar pantalla

cd: Change directory. Cambiar directorio. cd .. mover a carpeta padre. cd nombre de la carpeta

ls: lista de archivos

mkdir: make directory. Crear una carpeta. mkdir nombre de la carpeta

touch: crear archivo. Touch nombre archivo.extensión

https://platzi.com/clases/terminal/

desarrollo reto:

cd Escritorio

mkdir 20210713

cd 20210713

touch text1.txt

touch text2.txt

touch text3.txt

ls

Operadores aritméticos
Abrir consola interactiva.

py (En Linux o mac Python3)

Aquí podemos ingresar una operación matemática y ver el resultado inmediatamente

5+5

10

Pero en el código deberíamos incluir print


print(5+5)

10

Para división entera o euclidiana:

21 // 4

Para el módulo:

21 % 5

Potencia:

2 ** 2

Python sigue las reglas de precedencia de operadores. Es decir, resuelve primero los paréntesis,
después potencias y raíces, luego multiplicaciones y divisiones y finalmente sumas y restas.

Variables
Hablando en términos matemáticos o lógicos una variable es un símbolo constituyente de un
predicado, formula, algoritmo o proposición. Fuera del ámbito matemático se utiliza para desinar
una cantidad que puede tomar distintitos valores dentro de un conjunto de números especificado.
De manera fácil es una caja donde podemos guarda objetos. Tiene un nombre que lo identifica de
manera única.

Con el comando exit() salgo de la consola interactiva de Python.

Guardar un numero en una variable:

>>> numero = 3

>>> print(numero)

>>> numero

>>> numero1 = 5

>>> numero2 = 6

>>> numero1

>>> numero2

>>> numero1 + numero2

11
>>> numero1 = 12

>>> numero1

12

>>> numero1 + numero2

18

>>> numero1 - numero2

>>> numero_resultado = numero1 + numero2

>>> numero_resultado

18

Las reglas para los identificadores son:

• No puede comenzar con un número


• Las palabras deben estar en minúsculas
• Si se tienen varias palabras se deben separar con guion bajo (_)

Los primitivos: tipos de datos sencillos


En este caso cuando no referimos a objetos no hablamos de programación orientada a objetos si
no de tipos de datos. En Python todo es un objeto.

Tipos de datos:

• Números enteros
• Números de punto flotante
• Textos (cadenas de caracteres (string))
• Booleanos (Verdadero y falso)

+ para concatenar texto, * Repetir texto

El separador de decimales es el punto (.)

>>> nombre = ""

>>> nombre = "Andres"

>>> nombre2 = 'María José'

>>> nombre2

'María José'

>>> nombre + nombre2

'AndresMaría José'
>>> nombre + nombre2

'AndresMaría José'

>>> nombre * 4

'AndresAndresAndresAndres'

>>> nombre + ", " + nombre2

'Andres, María José'

>>> numero_decimal = 3.4

>>> numero_decimal

3.4

>>> es_estudiante = True

>>> es_estudiante

True

>>> trabaja = False

>>> trabaja

False

Convertir un dato a un tipo diferente


Con el comando input un numero se guarda como cadena de texto

>>> numero1 = input("Escribe un número: ")

Escribe un número: 4

>>> numero1

'4'

>>> numero2 = input("Escribe un número: ")

Escribe un número: 5

>>> numero2

'5'

>>> numero1 + numero2

'45'

>>> numero1 = int(numero1)

>>> numero1
4

>>> numero2 = int(numero2)

>>> numero2

>>> numero1 + numero2

>>> numero_decimal = 4.5

>>> int(numero_decimal)

>>> str(numero_decimal)

'4.5'

>>>

Operadores lógicos y de comparación


and para comparar si dos valores son verdaderos.
or para comparar si dos valores son falsos.
not para invertir el valor booleano.
== Compara dos valores y te dice si son iguales o no.
!= Compara dos valores y te dice sin son diferentes o no.
> Compara si es mayor que otro valor.
> Compara si es menor que otro valor.
>= igual o mayor que el valor a comparar.
<= igual o menor que el valor a comparar.
>>> es_estudiante = True

>>> es_estudiante

True

>>> trabaja = False

>>> trabaja

False

>>> es_estudiante and trabaja

False

>>> es_estudiante or trabajo

True

>>> not es_estudiante


False

>>> not trabaja

True

>>> numero1 = 5

>>> numero2 = 5

>>> numero1

>>> numero2

>>> numero1 == numero2

True

>>> numero3 = 7

>>> numero3

>>> numero1 == numero3

False

>>> numero1 != numero3

True

>>> numero1 > numero3

False

>>> numero1 < numero3

True

>>> numero1 >= numero3

False

>>> numero1 >= numero2

True

>>> numero1 <= numero2

True

>>> numero1 <= numero3


True

>>>

Primer programa: conversor de monedas

Creación programa en Visual Studio

pesos = input("¿Cuántos pesos colombianos tienes?: ")


pesos = float(pesos)
valor_dolar = 3875
dolares = pesos / valor_dolar
dolares = str(dolares)
print("Tienes $" + dolares + " dólares")
Guardar siempre con extensión .py

Ejecución en consola

D:\Documentos\Cursos\Curso basico de Python\Consola

λ cd ..

D:\Documentos\Cursos\Curso basico de Python

λ ls

'~$sico Python.docx' 'Instalación de nuestras herramientas en Mac.docx'

'Basico Python.docx' 'Instalación de nuestras herramientas en Ubuntu.docx'

Consola/ Programas/

D:\Documentos\Cursos\Curso basico de Python

λ cd Programas

D:\Documentos\Cursos\Curso basico de Python\Programas

λ ls

conversor.py
D:\Documentos\Cursos\Curso basico de Python\Programas

λ py conversor.py

¿Cuántos pesos colombianos tienes?: 10000

Tienes $2.5806451612903225 dólares

Corrigiendo redondeo de decimales con la función round

pesos = input("¿Cuántos pesos colombianos tienes?: ")


pesos = float(pesos)
valor_dolar = 3875
dolares = pesos / valor_dolar
dolares = round(dolares, 2)
dolares = str(dolares)
print("Tienes $" + dolares + " dólares")

RETO con euro

euro a dólar

euro = input("¿Cuántos euros tienes?: ")


euro = float(euro)
valor_dolar = (1 / 1.18)
dolares = euro / valor_dolar
dolares = round(dolares, 2)
dolares = str(dolares)
print("Tienes $" + dolares + " dólares")

py conversor_euro_dolar.py

¿Cuántos euros tienes?: 1

Tienes $1.18 dólares

dólar a euro

dolar = input("¿Cuántos dólares tienes?: ")


dolar = float(dolar)
valor_euro = (1.18)
euros = dolar / valor_euro
euros = round(euros, 2)
euros = str(euros)
print("Tienes € " + euros + " euros")

py conversor_dolar_euro.py

¿Cuántos dólares tienes?: 1


Tienes € 0.85 euros

Condicionales
Después de los : siempre en la siguiente línea va con una indentación de cuatro espacios

edad = int(input("Escribe tu edad: "))


if edad > 17:
print("Eres mayor de edad")
else:
print("Eres menor de edad")

λ py condicionales.py

Escribe tu edad: 15

Eres menor de edad

D:\Documentos\Cursos\Curso basico de Python\Programas

λ py condicionales.py

Escribe tu edad: 29

Eres mayor de edad

Ctrl + } comenta todo lo seleccionado

# edad = int(input("Escribe tu edad: "))


# if edad > 17:
# print("Eres mayor de edad")
# else:
# print("Eres menor de edad")

numero = int(input("Escribe un número: "))

if numero > 5:
print("Es mayor a 5")
elif numero == 5:
print("Es igual a 5")
else:
print("Es menor a 5")

λ py condicionales.py

Escribe un número: 6
Es mayor a 5

D:\Documentos\Cursos\Curso basico de Python\Programas

λ py condicionales.py

Escribe un número: 5

Es igual a 5

D:\Documentos\Cursos\Curso basico de Python\Programas

λ py condicionales.py

Escribe un número: 4

Es menor a 5

Varios países en el conversor de monedas


Otra forma de incluir texto es con triples comillas “””adhkashdkhaskhdkash”””

Win + . para incluir un emoji

menu = """
Bienvenido al conversor de monedas 💰

1 - Pesos colombianos
2 - Pesos argentinos
3 - Pesos mexicanos

Elige una opción: """

opcion = int(input(menu))

if opcion == 1:
pesos = input("¿Cuántos pesos colombianos tienes?: ")
pesos = float(pesos)
valor_dolar = 3875
dolares = pesos / valor_dolar
dolares = round(dolares, 2)
dolares = str(dolares)
print("Tienes $" + dolares + " dólares")
elif opcion == 2:
pesos = input("¿Cuántos pesos argentinos tienes?: ")
pesos = float(pesos)
valor_dolar = 65
dolares = pesos / valor_dolar
dolares = round(dolares, 2)
dolares = str(dolares)
print("Tienes $" + dolares + " dólares")
elif opcion == 3:
pesos = input("¿Cuántos pesos mexicanos tienes?: ")
pesos = float(pesos)
valor_dolar = 24
dolares = pesos / valor_dolar
dolares = round(dolares, 2)
dolares = str(dolares)
print("Tienes $" + dolares + " dólares")
else:
print("Ingresa una opción correcta por favor")

λ py conversor.py

Bienvenido al conversor de monedas �

1 - Pesos colombianos

2 - Pesos argentinos

3 - Pesos mexicanos

Elige una opción: 1

¿Cuántos pesos colombianos tienes?: 20000

Tienes $5.16 dólares

D:\Documentos\Cursos\Curso basico de Python\Programas

λ py conversor.py

Bienvenido al conversor de monedas �

1 - Pesos colombianos

2 - Pesos argentinos
3 - Pesos mexicanos

Elige una opción: 2

¿Cuántos pesos argentinos tienes?: 70

Tienes $1.08 dólares

D:\Documentos\Cursos\Curso basico de Python\Programas

λ py conversor.py

Bienvenido al conversor de monedas �

1 - Pesos colombianos

2 - Pesos argentinos

3 - Pesos mexicanos

Elige una opción: 3

¿Cuántos pesos mexicanos tienes?: 240

Tienes $10.0 dólares

D:\Documentos\Cursos\Curso basico de Python\Programas

λ py conversor.py

Bienvenido al conversor de monedas �

1 - Pesos colombianos

2 - Pesos argentinos

3 - Pesos mexicanos

Elige una opción: 4


Ingresa una opción correcta por favor

Funciones

Debo definir la función y luego invoco la función

def imprimir_mensaje():
print("Mensaje especial: ")
print("¡Estoy aprendiendo a usar funciones")

imprimir_mensaje()
imprimir_mensaje()
imprimir_mensaje()

λ py funciones.py

Mensaje especial:
¡Estoy aprendiendo a usar funciones

Mensaje especial:

¡Estoy aprendiendo a usar funciones

Mensaje especial:

¡Estoy aprendiendo a usar funciones

Parámetros son variables que voy a tener disponibles para usar dentro de la función

def conversacion(mensaje):
print("Hola")
print("Cómo estás")
print(mensaje)
print("Adios")

opcion = int(input("Elige una opción (1, 2, 3): "))


if opcion == 1:
conversacion("Elegiste la opcion 1")
elif opcion == 2:
conversacion("Elegiste la opción 2")
elif opcion == 3:
conversacion("Elegiste la opción 3")
else:
print("Escribe la opción correcta")

λ py funciones.py

Elige una opción (1, 2, 3): 1

Hola

Cómo estás

Elegiste la opcion 1

Adios

D:\Documentos\Cursos\Curso basico de Python\Programas

λ py funciones.py

Elige una opción (1, 2, 3): 2

Hola
Cómo estás

Elegiste la opción 2

Adios

D:\Documentos\Cursos\Curso basico de Python\Programas

λ py funciones.py

Elige una opción (1, 2, 3): 3

Hola

Cómo estás

Elegiste la opción 3

Adios

D:\Documentos\Cursos\Curso basico de Python\Programas

λ py funciones.py

Elige una opción (1, 2, 3): 4

Escribe la opción correcta

Aplicando funciones al conversor de monedas


Con return puedo devolver una variable para utilizarla por fuera de la función

def suma(a, b):


print("Se suman dos números")
resultado = a + b
return resultado

sumatoria = suma(1, 4)
print(sumatoria)

λ py funciones.py

Se suman dos números

Aplicado al conversor de monedas

def conversor(tipo_pesos, valor_dolar):


pesos = input("¿Cuántos pesos" + tipo_pesos + "tienes?: ")
pesos = float(pesos)
dolares = pesos / valor_dolar
dolares = round(dolares, 2)
dolares = str(dolares)
print("Tienes $" + dolares + " dólares")

menu = """
Bienvenido al conversor de monedas 💰

1 - Pesos colombianos
2 - Pesos argentinos
3 - Pesos mexicanos

Elige una opción: """

opcion = int(input(menu))

if opcion == 1:
conversor("colombianos", 3875)
elif opcion == 2:
conversor("argentinos", 65)
elif opcion == 3:
conversor("mexicanos", 24)
else:
print("Ingresa una opción correcta por favor")

λ py conversor.py

Bienvenido al conversor de monedas �

1 - Pesos colombianos

2 - Pesos argentinos

3 - Pesos mexicanos

Elige una opción: 1

¿Cuántos pesoscolombianostienes?: 30000

Tienes $7.74 dólares


D:\Documentos\Cursos\Curso basico de Python\Programas

λ py conversor.py

Bienvenido al conversor de monedas �

1 - Pesos colombianos

2 - Pesos argentinos

3 - Pesos mexicanos

Elige una opción: 2

¿Cuántos pesosargentinostienes?: 130

Tienes $2.0 dólares

D:\Documentos\Cursos\Curso basico de Python\Programas

λ py conversor.py

Bienvenido al conversor de monedas �

1 - Pesos colombianos

2 - Pesos argentinos

3 - Pesos mexicanos

Elige una opción: 3

¿Cuántos pesosmexicanostienes?: 67

Tienes $2.79 dólares

Cadenas de caracteres
Colocar en mayúsculas el texto. Método es una función que es especial para un tipo de dato en
particular.

>>> nombre = input("¿Cuál es tu nombre?: ")


¿Cuál es tu nombre?: facundo

>>> nombre.upper()

'FACUNDO'

>>> nombre.capitalize()

'Facundo'

>>> nombre = nombre.capitalize()

>>> nombre

'Facundo'

Quitar espacio método strip

>>> nombre

'Facundo '

>>> nombre = nombre.strip()

>>> nombre

'Facundo'

Cambiar a minúsculas método lower

>>> nombre = nombre.lower()

>>> nombre

'facundo'

Remplazar caracteres método replace

>>> nombre = nombre.replace("o", "a")

>>> nombre

'facunda'

Acceder a caracteres que tiene una cadena de caracteres lo hago mediante índices. El índice inicia
en 0

>>> nombre[0]

'f'

>>> nombre[1]

'a'

>>> letra = nombre[2]


>>> letra

'c'

Para averiguar el numero de caracteres de una cadena de caracteres se usa la función len

>>> len(nombre)

>>> len(letra)

>>> len("Hola! Este es el curso de python")

32

Funciones con len o print son funciones built in es decir que son funciones que vienen dentro del
lenguaje y que no necesito crear para poder invocarlas

Slices

>>> nombre = "Francisco"

>>> nombre

'Francisco'

>>> nombre[0]

'F'

>>> nombre[1]

'r'

>>> nombre[0:3]

'Fra'

>>> nombre[:3]

'Fra'

>>> nombre[3:]

'ncisco'
>>> nombre[1:7]

'rancis'

>>> nombre[1:7]

'rancis'

>>> nombre[1:7:2]

'rni'

>>> nombre[::]

'Francisco'

>>> nombre[1::3]

'rcc'

>>> nombre[::-1]

'ocsicnarF'

Proyecto: Palíndromo
Palabra o frases que se leen igual, al contrario.

Como buena practica se debe dejar dos espacios entre funciones.

La ejecución del programa siempre se deja en una función main o run. Se incluye el punto de
entrada.

def palindromo(palabra):
palabra = palabra.replace(' ', '')
palabra = palabra.lower()
palabra_invertida = palabra[::-1]
if palabra == palabra_invertida:
return True
else:
return False

def run():
palabra = input('Escribe una palabara: ')
es_palindromo = palindromo(palabra)
if es_palindromo == True:
print('Es palindromo')
else:
print('No es palíndromo')
if __name__ == '__main__':
run()

λ py palindromo.py

Escribe una palabara: Luz Azual

No es palíndromo

D:\Documentos\Cursos\Curso basico de Python\Programas

λ py palindromo.py

Escribe una palabara: Luz Azul

Es palindromo

D:\Documentos\Cursos\Curso basico de Python\Programas

λ py palindromo.py

Escribe una palabara: Platzi

No es palíndromo

Bucles
Bucle while
Es el bucle fundamental, casi todos los lenguajes lo implementan de manera nativa.

Las constantes se definen en mayúscula

def run():
LIMITE = 1000

contador = 0
potencia_2 = 2**contador
while potencia_2 < LIMITE:
print('2 elevado a ' + str(contador) + ' es igual a: ' + str(potenci
a_2))
contador = contador + 1
potencia_2 = 2**contador

if __name__ == '__main__':
run()

λ py bucles.py

2 elevado a 0 es igual a: 1

2 elevado a 1 es igual a: 2

2 elevado a 2 es igual a: 4

2 elevado a 3 es igual a: 8

2 elevado a 4 es igual a: 16

2 elevado a 5 es igual a: 32

2 elevado a 6 es igual a: 64
2 elevado a 7 es igual a: 128

2 elevado a 8 es igual a: 256

2 elevado a 9 es igual a: 512

Bucle FOR
Rage para definir un rango y list para convertir ese rango en una lista

a = list(range(1000))
print(a)

λ py for.py

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647,
648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687,
688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707,
708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727,
728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747,
748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767,
768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787,
788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807,
808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827,
828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847,
848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867,
868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887,
888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907,
908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927,
928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947,
948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967,
968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987,
988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999]

def run():
LIMITE = 1000

for contador in range(1, LIMITE+1):


print(contador)

if __name__ == '__main__':
run()

Imprimir la table del 11

for i in range(10):
print(11 * i)

λ py for.py

11

22

33

44

55
66

77

88

Recorriendo un string con for


Forzar cerrado de programa en consola CTRL + C

def run():
nombre = input('Escribe tu nombre: ')
for letra in nombre:
print(letra)

if __name__ == '__main__':
run()
λ py recorrer.py

Escribe tu nombre: andres

def run():
# nombre = input('Escribe tu nombre: ')
# for letra in nombre:
# print(letra)

frase = input('Escribe una frase: ')


for caracter in frase:
print(caracter.upper())

if __name__ == '__main__':
run()

λ py recorrer.py

Escribe una frase: Este es el curso de Python


E

Interrumpir ciclos con break y continue


Todo el código debajo de continue no se ejecuta

def run():
for contador in range(10):
if contador %2 != 0:
continue
print(contador)

if __name__ == '__main__':
run()

λ py break_continue.py

def run():
# for contador in range(10):
# if contador %2 != 0:
# continue
# print(contador)
for i in range (10):
print(i)
if i == 7:
break

if __name__ == '__main__':
run()

λ py break_continue.py

6
7

def run():
# for contador in range(10):
# if contador %2 != 0:
# continue
# print(contador)
# for i in range (10):
# print(i)
# if i == 7:
# break
texto = input('Escribe un texto: ')
for letra in texto:
if letra == 'o':
break
print(letra)

if __name__ == '__main__':
run()

λ py break_continue.py

Escribe un texto: andres alfonso rodiguez

reto break y continue en otro ciclo


Proyecto prueba de primalidad

Números primos: números que se dividen por si mismo o por 1.

En Python se puede obviar en el condicional if el == True

def es_primo(numero):
contador = 0
for i in range (1, numero+1):
if i == 1 or i == numero:
continue
if numero % i == 0:
contador += 1
if contador == 0:
return True
else :
return False

def run():
numero = int(input('Escribe un número: '))
if es_primo(numero):
print('Es primo')
else:
print('No es primo')

if __name__ == '__main__':
run()
λ py prueba_primalidad.py

Escribe un número: 1

Es primo

D:\Documentos\Cursos\Curso basico de Python\Programas

λ py prueba_primalidad.py

Escribe un número: 17

Es primo

D:\Documentos\Cursos\Curso basico de Python\Programas

λ py prueba_primalidad.py

Escribe un número: 49

No es primo

D:\Documentos\Cursos\Curso basico de Python\Programas

λ py prueba_primalidad.py

Escribe un número: 64

No es primo

Reto números primos

def es_primo(numero):
contador = 0
PRIMO = '23571'
for caracter in PRIMO:
if numero == 1:
contador += 1
break

if caracter == '1':
divisor = (int(caracter)) + 10
else:
divisor = int(caracter)

if divisor >= numero:


continue

if numero % divisor == 0:
contador += 1

if divisor > numero and numero // divisor > divisor:


contador = 0

if contador == 0:
return True
else :
return False

def run():
numero = int(input('Escribe un número: '))
if es_primo(numero):
print('Es primo')
else:
print('No es primo')

if __name__ == '__main__':
run()

λ py reto_numeros_primos.py

Escribe un número: 1

No es primo

D:\Documentos\Cursos\Curso basico de Python\Programas

λ py reto_numeros_primos.py

Escribe un número: 2

Es primo

D:\Documentos\Cursos\Curso basico de Python\Programas

λ py reto_numeros_primos.py

Escribe un número: 18

No es primo
D:\Documentos\Cursos\Curso basico de Python\Programas

λ py reto_numeros_primos.py

Escribe un número: 17

Es primo

Proyecto: video juego


Utilizar código escrito por otras personas. Para eso utilizo import

Con . por ejemplo, random. Accedemos a las funciones de un determinado modulo.

import random

def run():
numero_aleatorio = random.randint(1,100)
numero_elegido = int(input('Elige un número del 1 al 100: '))
while numero_elegido != numero_aleatorio:
if numero_elegido < numero_aleatorio:
print('Buesca un número más grade')
else:
print('Busca un número más pequeño')
numero_elegido = int(input('Elige otro número: '))
print('¡Ganaste!')

if __name__ == '__main__':
run()

λ py adivina_el_numero.py

Elige un número del 1 al 100: 34

Buesca un número más grade

Elige otro número: 45

Buesca un número más grade

Elige otro número: 67

Buesca un número más grade

Elige otro número: 90

Buesca un número más grade


Elige otro número: 100

Busca un número más pequeño

Elige otro número: 99

Busca un número más pequeño

Elige otro número: 98

Busca un número más pequeño

Elige otro número: 97

Busca un número más pequeño

Elige otro número: 96

Busca un número más pequeño

Elige otro número: 95

¡Ganaste!

Almacenar varios valores en una variable: listas


Guardar varios objetos dentro de una caja

Las listas pertenecen a un conjunto llamado estructuras de datos. Las estructuras de datos son
formas que nos brindan los lenguajes de programación para guardar varios valores en una variable
con diferente formato. Las listas nos permiten guardar varios tipos de valores dentro de una
misma caja o variable.

λ py

Python 3.7.1 (default, Dec 10 2018, 22:54:23) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on
win32

Type "help", "copyright", "credits" or "license" for more information.

>>> numero = 1

>>> numero

>>> numero = 4

>>> numero

>>> numeros = [1, 3, 6, 8, 9, 45, 90]

>>> numeros

[1, 3, 6, 8, 9, 45, 90]

>>> objetos = ['Hola', 3, 4, 5, True]

>>> objetos

['Hola', 3, 4, 5, True]

>>> objeto[1]

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

NameError: name 'objeto' is not defined

>>> objetos[1]

>>> objetos[0]

'Hola'

>>> objetos[3]

>>> objetos[4]

True
>>> objetos[5]

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

IndexError: list index out of range

>>> objetos.append(False)

>>> objetos

['Hola', 3, 4, 5, True, False]

>>> objetos.append(1)

>>> objetos

['Hola', 3, 4, 5, True, False, 1]

>>> objetos.pop(1)

>>> objetos

['Hola', 4, 5, True, False, 1]

>>> for elemento in objetos:

... print(elemento)

...

Hola

True

False

>>> objetos[::-1]

[1, False, True, 5, 4, 'Hola']

>>> objetos[1:3]

[4, 5]

>>>
Tuplas
Las listas requieren mucha memoria ya que son dinámicas y le puedo agregar datos, en este caso
es más útil las tuplas ya que son estáticos, es decir son inmutables. Los ciclos funcionan mucho
más rápidos con las tuplas. A las tuplas no se les puede ni retirar ni añadir objetos.

λ py

Python 3.7.1 (default, Dec 10 2018, 22:54:23) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on
win32

Type "help", "copyright", "credits" or "license" for more information.

>>> numeros=[1, 2, 3, 4, 5]

>>> numeros

[1, 2, 3, 4, 5]

>>> numeros.append('Hola')

>>> numeros

[1, 2, 3, 4, 5, 'Hola']

>>> numeros.pop(5)

'Hola'

>>> numeros

[1, 2, 3, 4, 5]

>>> numeros2 = [6, 7, 8, 9]

>>> numeros2

[6, 7, 8, 9]

>>> lista_final = numeros + numeros2

>>> lista_final

[1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> numeros * 5

[1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]

>>> mi_tupla = (1, 2, 3, 4, 5)

>>> mi_tupla

(1, 2, 3, 4, 5)

>>> mi_tupla.append(5)
Traceback (most recent call last):

File "<stdin>", line 1, in <module>

AttributeError: 'tuple' object has no attribute 'append'

>>> mi_tupla.pop(2)

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

AttributeError: 'tuple' object has no attribute 'pop'

>>> for numero in mi_tupla:

... print(numero)

...

Diccionarios
Los diccionarios son unas estructuras de datos de llaves y valores. Vamos ha acceder a los datos a
través de llaves, es decir el nombre del índice. Una buena practica es incluir 4 espacios dentro de
las llaves para mantener un orden en el código.

def run():
mi_diccionario = {
'llave1': 1,
'llave2': 2,
'llave3': 3,
}
print(mi_diccionario)

if __name__ == '__main__':
run()

λ py diccionarios.py

{'llave1': 1, 'llave2': 2, 'llave3': 3}

def run():
mi_diccionario = {
'llave1': 1,
'llave2': 2,
'llave3': 3,
}
print(mi_diccionario['llave1'])
print(mi_diccionario['llave2'])
print(mi_diccionario['llave3'])

if __name__ == '__main__':
run()

λ py diccionarios.py

def run():
mi_diccionario = {
'llave1': 1,
'llave2': 2,
'llave3': 3,
}
# print(mi_diccionario['llave1'])
# print(mi_diccionario['llave2'])
# print(mi_diccionario['llave3'])

poblacion_paises = {
'Argentina' : 44938712,
'Brasil' : 210147125,
'Colombia' : 50372424
}
print(poblacion_paises['Argentina'])

if __name__ == '__main__':
run()

λ py diccionarios.py

44938712
def run():
mi_diccionario = {
'llave1': 1,
'llave2': 2,
'llave3': 3,
}
# print(mi_diccionario['llave1'])
# print(mi_diccionario['llave2'])
# print(mi_diccionario['llave3'])

poblacion_paises = {
'Argentina' : 44938712,
'Brasil' : 210147125,
'Colombia' : 50372424
}
# print(poblacion_paises['Argentina'])
for pais in poblacion_paises.keys():
print(pais)

if __name__ == '__main__':
run()

λ py diccionarios.py

Argentina

Brasil

Colombia

def run():
mi_diccionario = {
'llave1': 1,
'llave2': 2,
'llave3': 3,
}
# print(mi_diccionario['llave1'])
# print(mi_diccionario['llave2'])
# print(mi_diccionario['llave3'])

poblacion_paises = {
'Argentina' : 44938712,
'Brasil' : 210147125,
'Colombia' : 50372424
}
# print(poblacion_paises['Argentina'])
# for pais in poblacion_paises.keys():
# print(pais)

for pais in poblacion_paises.values():


print(pais)

if __name__ == '__main__':
run()

λ py diccionarios.py

44938712

210147125

50372424

def run():
mi_diccionario = {
'llave1': 1,
'llave2': 2,
'llave3': 3,
}
# print(mi_diccionario['llave1'])
# print(mi_diccionario['llave2'])
# print(mi_diccionario['llave3'])

poblacion_paises = {
'Argentina' : 44938712,
'Brasil' : 210147125,
'Colombia' : 50372424
}
# print(poblacion_paises['Argentina'])
# for pais in poblacion_paises.keys():
# print(pais)

# for pais in poblacion_paises.values():


# print(pais)

for pais, poblacion in poblacion_paises.items():


print(pais + ' tiene ' + str(poblacion) + ' habitantes')

if __name__ == '__main__':
run()
λ py diccionarios.py

Argentina tiene 44938712 habitantes

Brasil tiene 210147125 habitantes

Colombia tiene 50372424 habitantes

Proyecto: generador de contraseñas


Random.choice es una función especial del modulo random y me permite elegir al azar un item en
este caso de la lista.

"".join(contrasena) me genera un string a partir de la lista.

import random

def generar_contrasena():
mayusculas = ['A', 'B', 'C', 'D', 'E', 'F', 'G']
minusculas = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
simbolos = ['!', '#', '$', '&', '/', '(', ')']
numeros = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']

caracteres = mayusculas + minusculas + simbolos+ numeros

contrasena = []

for i in range(15):
caracter_random = random.choice(caracteres)
contrasena.append(caracter_random)

contrasena = "".join(contrasena)
return contrasena

def run():
contrasena = generar_contrasena()
print('Tu nueva contraseña es: ' + contrasena)

if __name__ == '__main__':
run()

λ py generador_contrasena.py

Tu nueva contraseña es: eebEF65#d49a9/(


D:\Documentos\Cursos\Curso basico de Python\Programas

λ py generador_contrasena.py

Tu nueva contraseña es: $60DfE!8B17bc!$

D:\Documentos\Cursos\Curso basico de Python\Programas

λ py generador_contrasena.py

Tu nueva contraseña es: $B72ad4g4)Ebba3

También podría gustarte