Computing">
Introducción A Python
Introducción A Python
Introducción A Python
ExactasPrograma
Verano 2020
Objetivos
Vamos a amigarnos con la computadora y empezar a ver que puede ser nuestra
aliada aún cuando parezca que nos vamos a dedicar a cosas muy alejadas de la
tecnologı́a.
Python
Open Source
Cross-platform
Simulación numérica.
Asignación
En Python podemos darle nombre a las cosas y asociarles un valor. A esto se lo
llama asignar un valor a una variable.
Anastasio es la variable y 4 es el valor.
Más jugadores
Ejecución de un programa
Aunque parezca sencillo, ya tenemos un programa en Python y podrı́amos ejecutarlo.
Para hacerlo, necesitamos poder escribir el programa y tener instalado un intérprete
de Python para poder ejecutarlo.
http://pythontutor.com
Vamos a usar un sitio para hacer
nuestros primeros programas en
Python.
Elegir Visualize your code and
get live help now de la pantalla
principal.
Del menú al lado de Write code
in, asegurarnos que dice Python
3.6 (ahora es el default).
Escribir el programa:
Anastasio = 4
Pedrito = 8
Laura = 5
Micaela = 10
Hacer click en Visualize
Execution.
¿Cómo se ve la ejecución?
Para modelar que dimos otra carta a cada jugador, podemos definir nuevas
variables:
Anastasio = 4
Pedrito = 8
Laura = 5
Micaela = 10
Anastasio2 = 6
Pedrito2 = 9
Laura2 = 6
Micaela2 = 13
Ası́ no va...
Necesitamos un mecanismo que nos permita almacenar las distintas cartas que le
fueron tocando a cada jugador y que permita guardar la cantidad que necesite.
Listas
En Python existen las listas, que sirven para almacenar valores:
Anastasio = []
Pedrito = []
Laura = []
Micaela = []
En estas lı́neas, asignamos a cuatro variables el mismo valor: una lista vacı́a (no
contiene ningún elemento).
Veamos ahora cómo hacer para agregar la carta que recibe cada jugador:
Anastasio = []
Pedrito = []
Laura = []
Micaela = []
Anastasio.append(4)
Pedrito.append(8)
Laura.append(5)
Micaela.append(10)
Anastasio.append(6)
Pedrito.append(9)
Laura.append(6)
Micaela.append(13)
¿Y si lo ejecuto?
Escribir el programa anterior y ejecutarlo en python tutor.
Funciones
Una construcción que permite encerrar un pedacito de programa.
En un libro de recetas se definen muchas funciones: se cuenta la primera vez
cómo se hace algo (ejemplo: cómo batir dos claras a punto nieve) y en el resto de
las recetas simplemente se dice “bata dos claras a punto nieve”).
Definición: es dónde se indica qué hace la función. En la receta, serı́a el lugar donde
se explica paso a paso qué es batir una clara a punto nieve.
Uso: Cada vez que se usa o llama a la función. En las recetas, serı́a cada vez que nos
indican “batir una clara a punto nieve”, “batir dos claras a punto nieve”, etc.
Si bien se llama igual que el objeto matemático que todos deberı́amos conocer,
en el universo computacional, forzamos un poco las cosas.
Ası́ como append, hay muchas funciones que se pueden utilizar.
Todos los lenguajes de programación tienen un mecanismo para definir
funciones.
Los valores que recibe una función se llaman parámetros o argumentos:
def suma_a_mult_b(a, b, c):
x = c + a
y = c * b
r = x*x - y*y
return r
res = suma_a_mult_b(2, 4, 7)
print(res)
res = suma_a_mult_b(5, 10, 2)
print(res)
ExactasPrograma (Exactas-UBA) Clase 1: Primeros pasos en Python Verano 2020 13 / 28
Comenzamos con Python
Funciones: a probarlo
Tabulación
A esta altura de la ejecución del programa, Python solo sabe que existe una función
llamada suma a mult b que recibe tres argumentos.
¡Sigamos ejecutando!
En este paso, Python necesita obtener el resultado de la función suma a mult b con
los argumentos 2,4 y 7.
¡Sigamos ejecutando!
El valor que devolvió la función suma a mult b fue asignada a una variable r, que si
bien se llama igual que la definida dentro de la función... ¡es otra!
Las variables que se definen dentro de una función, solo existen dentro de esa
función. A esto se lo conoce como alcance de una definición.
Vimos algunos ejemplos de listas con números enteros. Veamos ahora que
podemos definir también estructuras con caracteres.
Para definir un string (cadena de caracteres), podemos hacer esto:
nombre = "Marianito"
Hay algunas operaciones interesantes para hacer con cadenas (también con listas en
general):
len(): es una función que recibe una cadena de caracteres (o una lista) y te
devuelve la cantidad de elementos que tiene (viene de “length”, longitud).
Por ejemplo la podemos usar len(lista_de_las_compras) y nos dirá el largo de
la lista que le pasamos.
len([]) da...¡0!
[]: es un operador para acceder a cualquier elemento de una cadena o de una
lista:
nombre = "Marianito"
print(nombre[0])
print(nombre[5])
Hay que tener cuidado con acceder a los elementos fuera de rango, aparecen
errores feos.
Más cosas:
También se pueden crear listas usando [] y dando los elementos:
lista_numeros = [1,2,3,10,99]
lista_caracteres = ['1','2','3','10','99']
+: concatenación, toma dos strings (o listas) y los pega:
apellido = "Quito"
primer_nombre = "Armando"
segundo_nombre = "Esteban"
print("Hola!!, quiero hablar con " + apellido + ", " + primer_nombre
+ segundo_nombre + apellido + " por favor")
mivalor = 2
if mivalor==2: Los dos puntos (:) son obligatorios,
mivalor = 5
else:
mivalor = 8
¡No olvidarse!
print(mivalor)
Comparaciones y condiciones
Estructuras
Ejercicios
1 Defina una función que tome dos cadenas de caracteres como parámetro y
devuelva la de mayor longitud. Complete el siguiente programa (la cantidad de
guiones no indica la cantidad de caracteres a completar):
def mas larga ( l 1 , l 2 ) : Probarlo con estos y otros casos:
if :
nombre1= ” Pepe ”
res =
nombre2= ” C h i r i z o ”
else
res= m a s l a r g a
res
print ( res )
return res
2 Defina una función que recibe una cadena de caracteres y devuelve la cantidad
de letras e que contiene.
def c a n t e :
i =0
count =0
while i<
if [ i ]== ' e '
count = c o u n t
i 1
return
3 Defina una función que tome una lista y cambie todas las vocales por -.
4 Defina la función mezclar que tome dos listas y devuelva una lista que sea el
resultado de intercalas elemento a elemento. Por ejemplo: si intercalamos Pepe
con Jose darı́a PJeopsee.
ExactasPrograma (Exactas-UBA) Clase 1: Primeros pasos en Python Verano 2020 27 / 28
Comenzamos con Python
Links útiles