06 2021.1 Funciones

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 196

06 - FUNCIONES

Jorge Muñoz
IIC1103 – Introducción a la Programación
¿ES QUE ESO NO PUEDE …
Conceptos
Conceptos
Conceptos

o no
ec to
co r r
Si es

dígito
RUT verificador

verirut
Conceptos
Conceptos
Conceptos

Para mi colega (función) es muy importante:


• Que lo llames por su nombre
• Que le des el número de cosas (parámetros) que el te ha indicado
• En el orden que el te ha indicado
• Y del tipo que el te ha indicado
E.g., “verirut acepta primero un str con el rut y segundo un str con el dígito de
verificación”

Y a cambio se compromete:
• Retornarte la respuesta correcta en el formato que hayais acordado
“verirut te retornará un bool indicando si el rut está correcto”
Conceptos

¿No debería ser …

Fíjate que hace exactamente lo mismo 


Bibliografía &
Investigación

• Calcular dígito verificador del RUT


– https://www.biobiochile.cl/noticias/2016/03/07/para-que-sirve-y-como-se-calcula-el-digito-verificador-de-
nuestro-rut.shtml

• Simpsons (e22s09): Trash of the Titans


– https://en.wikipedia.org/wiki/Trash_of_the_Titans
FUNCIONES
Built-in
Conceptos

No hay que instalar nada ni hacer nada


Solo llamarlas
Conceptos

¿Hemos utilizado ya alguna función?


Conceptos

La función se llama str,


Recibe una sola parametro: un int
Retorna un string con el valor del int que le has dado
Conceptos

• Input es un poco especial


– Hay una versión que recibe solo UN str
– Pero hay otra (que usamos en HR) que no recibe NADA
• Print es un poco especial
– No retorna nada
– Puede recibir 0 cosas, 1, 2, 3, ….
• Puedes encadenar llamadas a funciones
– Lo que te retorna una, se la das a otra, etc
FUNCIONES
Importables ya instaladas
Conceptos

No hay que instalar nada …

… pero si hay que decirle a Python que las vas a


usar
Usaremos: import
Conceptos

¿La del número al azar del cachipun y las tortugas


ninja?
import elmodulo Conceptos

– Hacemos import del modulo donde está la función


– Se acostumbra poner los imports al principio del programa

x = elmodulo.lafuncion(…)
– Luego para llamar a la función usamos el nombre del
modulo, punto, y nombre de la función
– Podemos llamarla tantas veces como queramos (con un
import al principio vale)
Conceptos

Solo entran 2 funciones en el temario


Conceptos
Conceptos
Conceptos
Conceptos
Conceptos

Todas las otras funciones de random y math, o


todos los otros módulos …

… FUERA DEL TEMARIO

Curso de Pensamiento Algorítmico, no de


memorizar funciones
Bibliografía &
Investigación

• Python Random
– https://docs.python.org/3/library/random.html
• Python Math
– https://docs.python.org/3/library/math.html
Bibliografía &
Investigación
CALCULADORA PROGRAMABLE
Situación
INTERESES Real

“…ramos, sobretodo los matemáticos”

“Automatizar cosas”

“ecuaciones diferenciales”
Situación
Real
Situación
Real
Situación
Real
Situación
Real
Situación
Real
Situación
Real
Situación
Real
Resolución
Problema
BARCELONA 92
Situación
INTERESES Real

“aviones, atletismo, carreras de autos, barcos, fabricas”

“deportes, atletismo y golf”

“futbol, juegos olímpicos, deportes”

“Juegos divertidos”
Situación
Real
Situación
Real
Situación
Real
Situación
Real
Situación
Real

http://www.nytimes.com/interactive/2016/08/13/sports/olympics/can-you-beat-usain-bolt-
out-of-the-blocks.html
Situación
Real
Tiempos al azar:
Situación
– Preparados (entre 1 y 3 seg) Real
– Listos (entre 1 y 3 seg)
– Ya (entre 1 y 5)

Modulos y funciones
– random
• random.randint(x,y)
– time (FUERA DEL TEMARIO)
• time.sleep(x)
– Para el programa durante x segundos
• time.time():
– Retorna los seg des de 01/01/1970
– ¿cómo hacer que se quede esperando hasta que apretemos algo?
• Se usa una de las primeras funciones del curso 
Situación
Real
Situación
Real
Tiempos al azar:
Situación
– Preparados (entre 1 y 3 seg) Real
– Listos (entre 1 y 3 seg)
– Ya (entre 1 y 5)

Modulos y funciones
– random
• random.randint(x,y)
– time (FUERA DEL TEMARIO)
• time.sleep(x)
– Para el programa durante x segundos
• time.time():
– Retorna los seg des de 01/01/1970
– ¿cómo hacer que se quede esperando hasta que apretemos algo?
• Se usa una de las primeras funciones del curso 
Resolución
Problema
Bibliografía &
Investigación

• Can you beat Usain Bolt


– http://www.nytimes.com/interactive/2016/08/13/sports/olympics/can-you-beat-usain-bolt-out-of-the-block
s.html

• Barcelona 92
– https://www.youtube.com/watch?v=ck2jpaLoOMA
• Freddie Mercury - Barcelona
– https://www.youtube.com/watch?v=q0wdxj8-mAU
QUINIELA
INTERESES Situación
Real

“Predicciones sobre deportes”

“futbol, juegos de azar, deportes, casino, emprendimientos”

“deportes”

“futbol”
Situación
Real

“La lotería es el impuesto de los que no saben


matemáticas”
Anónimo
Situación
Real
Situación
Real

Estadísticamente
• ‘1’ es 50%
• ‘X’ es 30%
• ‘2’ es 20%
Situación
Real

Estadísticamente
• ‘1’ es 50%
• ‘X’ es 30%
• ‘2’ es 20%
Situación
Real
Situación
Real
Situación
Real

Estadísticamente
• ‘1’ es 50%
• ‘X’ es 30%
• ‘2’ es 20%
Resolución
Problema
Resolución
Problema
FUNCIONES
Importar de archivo
Conceptos
Conceptos

• miprograma.py y milibreria.py en la misma carpeta

• miprograma.py puede usar las funciones definidas en


milibreria.py haciendo import milibreria y usandolas
normalmente como milibreria.funX(…)
WARGAMES
INTERESES Situación
Real

“videojuegos”

“juegos”

“películas o series”

“historia de la computación”
Situación
Real

– Acaban llenando el
tablero sin que
nadie gane
Situación
Real

– J2 pierde un turno
– J1 gana
Situación
Real
Situación
Real
Situación
Real
Situación
Real
Situación
Real

– Acaban llenando el
tablero sin que
nadie gane
Situación
Real

– J2 pierde un turno
– J1 gana
Resolución
Problema


Resolución
Problema


Resolución
Problema


Resolución
Problema
Bibliografía &
Investigación

¿Jorge, por qué le has llamado a este problema


WarGames?
Bibliografía &
Investigación

• Wargames
– Tecnology of Wargames: https://www.imsai.net/movies/wargames.htm
– https://www.imdb.com/title/tt0086567/
CORONAVIRUS
Situación
INTERESES Real

“CORONAVIRUS”

“ lo que estamos viviendo hoy en día, las protestas, el


coronavirus, etc...”

“la realidad actual de chile, coronavirus”


Situación
Real
Situación
Real

https://www.litoralpress.cl/deposito/videosm/2020/03/29/8932528.mp4
Situación
Real

ABRIR CERRAR
Caso Caso

(se hace el test)


Situación
Real
Situación
Real
Situación
Real
Situación
Real
Resolución
Problema
Situación
Real
Situación
Real
Situación
Real
Situación
Real
Resolución
Problema
Situación
Real
Situación
Real
Situación
Real
Situación
Real
Resolución
Problema
Bibliografía &
Investigación

https://www.instagram.com/ccardcl/ https://www.instagram.com/cpu_uc/

https://pyme.emol.com/17523/plataforma-social-liquidez-pymes-covid-19/
Bibliografía &
Investigación
FUNCIONES
Instalables
Situación
INTERESES Real

“crear mis propios videojuegos”

“ redes sociales”

“inteligencia artificial”
Bibliografía &
Investigación

FUERA DEL TEMARIO


Bibliografía &
Investigación
Bibliografía &
Investigación
Bibliografía &
Investigación
Bibliografía &
Investigación
Bibliografía &
Investigación

https://realpython.com/pygame-a-primer/
(Tutorial simple paso a paso)
IIC1005 Exploratorio (Quixote) 2022-1
Bibliografía &
Investigación
Bibliografía &
Investigación

Sistema de gestión de librerías de Data Science,


Matemáticas, Machine Learning, …
www.anaconda.com
Bibliografía &
Investigación
FUNCIONES PROPIAS
Motivación
Conceptos

¿Usar funciones de otros lo entiendo, pero


por qué debería definir funciones propias
en mi propio código?
Situación
INTERESES Real

“emprendimientos”

“ transportes”
Situación
Real
Encuentra los 7 Situación
Real

errores:
- 360 en Vuelta
- UNI en print de Vuelta
- ida_s en print de IDA
- Parentesis en ida_s
- ida_s en último UNI
- ida en print de UNI
- … solo hay 6 :P
Situación
Real
Situación
Real
SIN funciones CON funciones Conceptos

Largo y tedioso Más corto


Fácil cometer errores y Solo hay que revisar el
difícil de encontrarlos código en un único sitio
Difícil “leer” y Estructurar partes y
estructurar códigos darles nombres fáciles
largos de entender
No se puede reusar Se puede reusar
FUNCIONES PROPIAS
Definición
Definición de la función Conceptos
‘resta” que recibe 2
parámetros. Se usa ‘def’ Bloque de la función
‘resta”

Retorna el resultado de
realizar la función ‘suma’. Se
usa ’return’

Llama a la función ‘suma’


Conceptos

La Regla de la “Burbuja de Las Vegas”


Conceptos
1- La única información que la Conceptos
2o Parámetro
función puede usar del exterior
es la que le pasan como
parámetros

1er Parámetro
2- No importa como se llamen Conceptos
2o Parámetro
fuera, la función le pondrá sus
propios nombres a los
parámetros

y
x

1er Parámetro
3- La función sabe cual 2o Parámetro
Conceptos

parámetro es cual por el orden

y
x

1er Parámetro
4- La función solo comunica Conceptos

cosas al exterior con lo que


retorne

Retorno
5- No importa como se llame el valor a Conceptos

retornar dentro de la función, el


exterior lo guardará en la variable que
el quiera

Retorno
6- Todo lo que pasa dentro se queda
dentro: nadie fuera puede usar variables
Conceptos

creadas dentro de la función)


FUNCIONES PROPIAS
¿Entendí bien como funcionan las funciones?
Situación
Real
Situación
Real
Situación
Real

socrative.com
Student Login
JORGEINTRO
Conceptos
Situación
Real

‘a’,’b’, y ‘r’ se llaman


igual dentro y fuera

Oh, que casualidad, …


pero que más da!
Situación
Real

‘r’ se llaman igual


dentro y fuera, pero
‘a,b’ y ‘x,y’ no.

Oh, que casualidad, …


pero que más da!
Situación
Real

‘a,b’ se llaman igual


dentro y fuera, pero ‘r’
y ‘res’ no.

Oh, que casualidad, …


pero que más da!
Situación
Real

Estas intentando usar


‘a,b’ en fuera de la
función

¿!Pero no te he dicho,
que lo que pasa en la
función se queda en la
función?!
Situación
Real

Estas intentando usar


‘r’ en fuera de la
función

¿!Pero no te he dicho,
que lo que pasa en la
función se queda en la
función?!
Situación
Real

Lo llamas con b y a,
pero dentro se llaman a
yb

No le importa los
nombres, solo el
ORDEN
Aunque parezca que la función Situación
Real
esta pensada para sumar dos
números, le llegan 2 str como
parámetros

En Python nadie fuerza a que


algo sea de un tipo concreto. Tu
mismo has creado la función
como has querido, simplemente
llámala como pensaste
OK BOOMER
Situación
INTERESES Real

“… creación de discursos y diálogos.”


Situación
Real

La mama
Situación
Real
Situación
Real
¿?
Situación
Real
Situación
Real
Situación
Real
¿?
Resolución
Problema
2 CABRAS Y 1 FERRARI
Situación
INTERESES Real

“probabilidades en juegos, tales como, black jack 21”

“ juegos pequeños de probabilidad o sorteos”


Estás en un concurso de la tele. Hay 3 puertas
A, B, y C. Detrás de una hay el Ferrari que Situación
Real

siempre quisiste. En las otras dos hay una


cabra. Odias las cabras.

Eliges la puerta A. El presentador abre la


puerta C que descartaste y te muestra una
cabra (siempre abrirá una puerta con cabra
en el primer descarte).

Ahora te da a elegir:¿Quieres seguir con la


puerta A o la cambias por la B?

¿Qué harías?
Situación
Real
Situación
Real
Situación
Real
Situación
Real

“juega
UNA partida”

“Le pide al otro que juegue 100.000


partidas cambiando de puerta, y
100.000 sin cambiar”
Situación
Real

¿?
Situación
Real
Situación
Real
Situación
Real

¿?
Resolución
Problema
Resolución
Problema


Resolución
Problema


Resolución
Problema
BECHDEL TEST
Conceptos

¿Pueden funciones llamar a otras funciones?

Sí, claro.
Que bueno que me lo preguntes, pues justo tengo un ejemplo aquí

Situación
INTERESES Real

“series y películas”

“cosas curiosas e interesantes”

“igualdad”

“comics, super-heroes”
Situación
Real

Bechdel Test

“Es una medida de la representación de la mujer en la ficción


(película, comic, etc)”
Situación
Real

1. Aparecen al menos dos mujeres [*con nombre]


2. Hablan entre si
3. Hablan de otra cosa que no sea un hombre
Situación
Real
Situación
Real
Situación
Real
Situación
Real
¿?
Situación
Real
Situación
Real
Situación
Real
¿?
Resolución
Problema
Bibliografía &
Investigación

• Bechdel Test
– https://en.wikipedia.org/wiki/Bechdel_test
• Bechdel Test Movie List
– https://bechdeltest.com/
• Jason Statham: Saltador de Trampolin
– https://www.youtube.com/watch?v=vWrINMm1aCI
PRESUPESTO PERSONAL
I1 2018-2
Situación
INTERESES Real

“tipo prueba”

(Mis problemas son tipo prueba y menos fomes)


Situación
Real
Situación
Real
Situación
Real
Situación
Real
Resolución
Problema
Situación
Real
Situación
Real
Resolución
Problema
Resolución
Problema
Resolución
Problema
Resolución
Problema

También podría gustarte