Curso Basico de Python
Curso Basico de Python
Curso Basico de Python
Operadores:
Funciones:
o Que son: Conjunto de líneas de código agrupadas (bloque de códigos)
que funcionan como unidad realizando una tarea especifica. Pueden
devolver valores. Pueden tener parámetros. Tambien de las denomina
“metodos”.
o Utilidad: reutilizar código.
o Sintaxis:
Def nombre_funcion():
Instrucciones (identadas; con sangría)
return (opcional)
Def nombre_funcion(parametros):
Instrucciones (identadas; con sangría)
return (opcional)
Funciones
o Paso de parámetros: siempre python pasa los valores de los parámetros
por referencia.
Los Diccionarios:
Son estructuras de datos que nos permite almacenar valores de diferente tipo
(enteros, cadenas de texto, decimales) e incluso listas y otros diccionarios.
La principal característica de los diccionarios es que los datos se almacenan
asociados a una clave de tal forma que se crea una asociación de tipo
clave:valor para cada elemento almacenado.
Los elementos almacenados no están ordenados. Es indiferente.
Sintaxis: miDiccionario={“clave1”:”valor1”, “clave2”:”valor2”,“clave3”:”valor3”}
Ejemplo: miDiccionario={“Alemania”:”Berlin”,
“Francia”:”Paris”,“España”:”Madrid”}
miDiccionario[“Alemania”]: devuelve Berlin
print(miDiccionario): devuelve todo el contenido del diccionario (clave y valor)
miDiccionario[“Clave4”]=”valor4” Agrega un nuevo clave:Valor
miDiccionario[“Clave4”]=”valor5” modifica el valor de la clave4 (sobreescribe)
del miDiccionario[“Clave4”]: Elimina clave4 y su valor asociado.
El par clave:valor puede ser de cualquier tipo
La clave puede ser un numero y el valor una Lista
Ejemplo:
o miLista=[elem1,elem2,elem3]
o miDiccionario={miLista[0]:valor1, miLista[1]:valor2, miLista[2]:valor3}
o print(midiccionario[elem1]) devolverá valor1
miDiccionario={23:”Jordan”, “Nombre”:”Michael”, “anillos”:[1991,1992,1995]}
miDiccionario2 = miDiccionario={23:”Jordan”, “Nombre”:”Michael”,
“anillos”:{anillos:[1,2,3]} (diccionario dentro de otro diccionario)
miDiccionario.keys() devuelve todas las claves del diccionario
miDiccionario.values() devuelve todos los valores
len(miDiccionario) devuelve el tamaño del diccionario tomando cada par
clave:valor como un elemento.
Video 10: Condicionales I
Instrucción If:
Sintaxis:
if parámetro – operador – condición:
Instruccion1
Else y elif
Sintaxis:
if parámetro – operador – condición:
Instruccion1
else:
instruccion2
Ejemplo
print("Verificacion de Acceso")
if edad<18:
print("No puedes Pasar")
else:
print("Puedes Pasar")
if edad<18:
print("No puedes Pasar")
if edad>100:
prin("edad Incorrecta")
else:
print("Puedes Pasar")
para solucionar esto se usa elif ya que sirve para que el “else” no dependa solo del if
mas cercano sino de todos los if de la estructura.
Veamos:
print("Verificacion de Acceso")
if edad<18:
print("No puedes Pasar")
elif edad>100:
prin("edad Incorrecta")
else:
print("Puedes Pasar")
elif te saca del bloque y hace que todos los if funcionen como una única estructura.
Video 12: Condicionales III
edad=-7
"""Operadores concatenados.
Se pueden usar todos los que quieras.
Evalua la condicion de izquierda a derecha"""
if 0<edad<100:
print("Edad es corercta")
else:
print("Edad Incorrecta")
ejemplo 2:
salario_presidente=int(input("Introduce salario del presidente: "))
print("Salario presidente: " + str(salario_presidente))
Operadores AND y OR
print("Programa de Becas")
distancia=int(input("A que distancia vivis del instituto: "))
hermanos=int(input("Cuantos hermanos tenes: "))
salario=int(input("Cuanto ganas al año: "))
print("Programa de Becas")
distancia=int(input("A que distancia vivis del instituto: "))
hermanos=int(input("Cuantos hermanos tenes: "))
salario=int(input("Cuanto ganas al año: "))
Operador “in”
print("Materias Electivas")
print("Electivas: Big Data - Testing - DEC")
materia=input("Escribe la electiva elegida: ")
if materia in ("Big Data","Testing","DEC"): #para valores numericos no lleva comillas
print("Inscripcion a "+ materia +" ok")
else:
print("Error, " + materia + " no existe")
NOTA: Python es case sensitive (si distingue entre mayúsculas y minúsculas)
Video 14: Bucles I. For
Tipos de Bucles:
Determinados: Se ejecutan un número determinado de veces, a priori se sabe
cuántas veces se va a ejecutar el código del bucle.
Indeterminados: Se ejecutan un número indeterminado de veces, a priori NO
se sabe cuántas veces se va a ejecutar el código del bucle.
For (sintaxis)
for variable in elemento a recorrer:
cuerpo del bucle
ejemplo:
lista=[1,2,3]
for i in lista:
print("Hola")
Recorrer String
Ejemplo para ver si un cadena que debe contener un mail es válido verificando si la
cadena contiene un @
for i in mail:
if arroba=="@" and i==".":
bandera=True
else:
if(i == "@"):
arroba=i
if bandera:
print("Mail correcto")
else:
print("Mail Incorrecto")
Tipo Range
for i in lista:
print("Hola",end="")
#no hace salto de línea y no deja espacio entre las impresiones
Ejemplo 2:
lista=["Verano","Otoño",3]
for i in lista:
print("Hola",end=";") #separa por “;”
Video 16: Bucles III. For
Ejemplo 2:
for i in range(5,50,3):
#indica que el vector arranca desde 5 hasta 49 y va de 3 en 3
print(f"valor de la variable {i}")
for i in range(len(mail)):
#crea un vector con la misma cantidad de elementos que tiene mi cadena que estoy
analizando
if arroba=="@" and mail[i]==".":
bandera=True
else:
if(mail[i] == "@"):
arroba=mail[i]
if bandera:
print("Mail correcto")
else:
print("Mail Incorrecto")
Video 17: Bucles IV. While
Sintaxis:
While condición:
Cuerpo del bucle
Ej:
i=1
while i<=10:
print(i)
i=i+1
EJ 2:
edad = int(input("cual es tu edad?: "))
i=0;
while 30<=edad<=50:
edad = int(input("No me jodas. cual es tu edad?: "))
i=i+1
if i!=0:
print("Gracias por decir la verdad (y dejar de hacerte el
pendejo).")
else:
print("Gracias!")
Ej 3: Te da 3 intentos y sino sale del bucle.
edad = int(input("cual es tu edad?: "))
i=0;
salir=1;
while edad<=30 or edad>=50:
edad = int(input("No me jodas. cual es tu edad?: "))
i=i+1
if salir==2:
break; #te saca del bucle
else:
salir=salir+1 #para que no quede en bucle infinito
if i!=0:
if salir==2:
print("Andá a cagar Pelotudo")
else:
print("Gracias por decir la verdad y dejar de hacrte el
boludo!")
else:
print("Gracias")
Ej:
for letra in "Python ":
if letra == "h":
continue #cuando encuentra la h ignora la iteracion
print("Viendo la letra "+letra)
Ej: Contar letras de una cadena de texto sin contar los espacios en blanco
ej:
mail=input("Ingrese mail: ")
for i in mail:
if i=="@":
arroba=True
break; #te saca del for y no entra al else
else: #es else del for y no del if, el programa entrará aquí cuando finalice
el for
arroba=False;
print(arroba)
Video 19: Generadores I.
¿Qué son?
Son estructuras que extraen valores de una función y almacenarlos en objetos
iterables que podremos recorrer con bucles u otros iteradores como next.
Estos valores se almacenan de uno en uno y cada vez que un generador
almacena un valor, este permanece en un estado pausado hasta que se solicita
el siguiente (suspensión de estado)
miLista=[]
while num<limite:
miLista.append(num*2)
num=num+1
return miLista
print(generarPares(10))
Ej: Funcion con generador para generar números pares
def generarPares(limite):
num=1
while num<limite:
yield num*2
num=num+1
devuelvePares=generarPares(10)
Ej2:
for i in devuelvePares:
print(i)
def generarPares(limite):
num=1
while num<limite:
yield num*2
num=num+1
devuelvePares=generarPares(10)
print(next(devuelvePares))
print("Aqui podria ir mas codigo")
print(next(devuelvePares))
print("Aqui podria ir mas codigo")
print(next(devuelvePares))
Video 20: Generadores II.
Ej:
def devuelveCiudades(*ciudades): #con el * indicamos que vamos a
recibir un numero indeterminado de elementos en forma de tupla
for elemento in ciudades:
for subElemento in elemento:
yield subElemento
ciudades_devueltas=devuelveCiudades("Madrid","Roma","Barcelona","
Valencia")
print(next(ciudades_devueltas))
print(next(ciudades_devueltas))
ciudades_devueltas=devuelveCiudades("Madrid","Roma","Barcelona","
Valencia")
print(next(ciudades_devueltas))
print(next(ciudades_devueltas))
Video 21: Excepciones.
¿Qué es una excepción?
Es un error en tiempo de ejecución.
Este tipo de errores se pueden controlar para que la ejecución del programa no
se detenga. (Esto se conoce como manejo de excepciones)
Pila de llamadas: Aquí aparece el nombre del error que me está dando. En este
caso el error es de tipo “ZeroDivisionError”
Bloque Try.
Ej:
def divide(num1,num2):
try:
return num1/num2
except ZeroDivisionError:
print("No se puede dividir por cero")
return "Operacion erronea"
Video 22: Excepciones II
def divide():
try:
op1=(float(input("introduce primer numero: ")))
op2=(float(input("introduce segundo numero: ")))
divide()
Ej:
import math
def raiz(num1):
if num1<0:
raise ValueError("El numero no puede ser negativo")
else:
return math.sqrt(num1)
print(raiz(op1))
print("Programa Terminado")
hace saltar la siguiente excepción:
***Repl Closed***
import math
def raiz(num1):
if num1<0:
raise ValueError("El numero no puede ser negativo")
else:
return math.sqrt(num1)
try:
print(raiz(op1))
except ValueError as ErrorDeNumeroNegativo:
print(ErrorDeNumeroNegativo)
print("Programa Terminado")