SlideShare una empresa de Scribd logo
1 de 24
PYTHON Lección No. 5 M.Sc. Victor Pando Beltrán [email_address] http://www.civil-uancv.pe/aulavirtual
AGENDA ,[object Object],[object Object],[object Object]
RECOMENDACIONES ,[object Object],[object Object],[object Object],[object Object]
Asignaciones múltiples   (1/6) Python permite asignaciones múltiples:  x1,x2,x3=1,2,3  print x1 # 1  print x2 # 2  print x3 # 3  Para entenderlo mejor podemos también utilizar esta sintaxis:  x1,x2,x3=(1,2,3)  print x1 # 1  print x2 # 2  print x3 # 3
Asignaciones múltiples (2/6) Es decir lo que estamos haciendo inicializar cada una de las variables de la izquierda con las componentes homólogas (de la misma posición) de la tupla. Esta característica es útil si tenemos que recuperar por ejemplo de una lista que contiene tuplas de dos elementos que representan puntos en el plano (x,y): puntos=[(10,2),(4,2),(9,3)]  for x,y in puntos:  print 'Coordenada x:%d y:%d' % (x,y)
Asignaciones múltiples  (3/6) Cada vuelta del for se almacena en x e y los valores de la tupla a procesar. Otra aplicación muy útil es si queremos intercambiar el valor de dos variables la forma más simple es: x=10  y=20  print x # 10  print y # 20  x,y = y,x  print x # 20  print y # 10
Asignaciones múltiples  (4/6) En una asignación pueden intervenir valores de distinto tipo (enteros, reales, string etc.):  nombre,edad,sueldo=('juan',32,1500.30)  print 'Nombre:%s Edad:%d Sueldo%10.2f' % (nombre,edad,sueldo)  # Nombre:juan Edad:32 Sueldo 1500.30
Asignaciones múltiples  (5/6) Podemos con esto hacer que una función retorne más de un dato (por lo menos  en apariencia), esto lo logramos retornando una tupla:  def sumadiferencia(x1,x2):  suma=x1+x2  diferencia=x1-x2  return (suma,diferencia)  su,di=sumadiferencia(10,4)  print su # 14  print di # 6
Asignaciones múltiples  (6/6) Como vemos llamamos a una función y le asignamos el valor devuelto a dos variables. Si queremos inicializar tres variables con el mismo valor la sintaxis que podemos utilizar es: x1=x2=x3=10  print x1 # 10  print x2 # 10  print x3 # 10
Problema resuelto En una lista se almacenan tuplas con el nombre de una persona y su edad.  Mostrar el nombre de la persona de mayor edad.  personas=[('juan',22),('ana',40),('carlos',15)]  may=-1  for nombre,edad in personas:  if edad>may:  nom=nombre  may=edad  print '%s tiene la edad mayor y es de %d' % (nom,may)
Funciones con parámetros por defecto   (1/5) Como habíamos visto una función es una estructura de programación que  agrupa un conjunto de instrucciones y resuelve un problema particular. Una  función puede tener parámetros, los mismos almacenan los valores que se le  pasan cuando la llamamos. En algunos casos si queremos que la función sea mas flexible podemos definir  parámetros con valores por defecto. Esto nos permite llamar a la función  pudiendo o no pasar datos a dichos parámetros. Veamos con un ejemplo este concepto, vamos a desarrollar una función que  reciba un dato a imprimir, con la posibilidad de indicarle el color de fuente y el  color de fondo, en caso de no indicarle dichos valores la función muestra el  dato con color negro y fondo blanco.
Funciones con parámetros por defecto  (2/5) def mostrartitulo(dato,colorletra='#000',colorfondo='#fff'):  print '<h1 style=&quot;color:'+colorletra+';background-color:'+colorfondo+'&quot;>'+dato+'</h1>'  mostrartitulo('Primer titulo')  mostrartitulo('Segundo titulo','#f00')  mostrartitulo('Tercer titulo','#f00','#000')  Como podemos ver para indicar a Python que un parámetro es por defecto  debemos utilizar el operador de asignación en la declaración de la cabecera de  la función junto al valor que tomará dicho parámetro en caso de no pasarlo desde  donde la llamamos:  def mostrartitulo(dato,colorletra='#000',colorfondo='#fff'):
Funciones con parámetros por defecto  (3/5) Cuando llamamos la función mostrartitulo podemos hacerlo de diferentes maneras:  mostrartitulo('Primer titulo')  mostrartitulo('Segundo titulo','#f00')  mostrartitulo('Tercer titulo','#f00','#000')  La primera llamada es pasando un único dato, es decir solo el título que debe  mostrar, en este caso el segundo y tercer parámetro toman como valor el  indicado en el declaración:  colorletra='#000',colorfondo='#fff'
Funciones con parámetros por defecto  (4/5) Podemos llamar a la función mostrartitulo pasando el primer parámetro y el  segundo, lo que hace que el tercer parámetro se inicialice con el indicado en la  declaración de la función:  mostrartitulo('Segundo titulo','#f00')  En el ejemplo la tercera llamada a la función se hace pasando tres parámetros:  mostrartitulo('Tercer titulo','#f00','#000')
Funciones con parámetros por defecto  (5/5) Como podemos ver los parámetros por defecto nos permiten implementar  funciones más generales, con esto podemos hacer que las funciones sean útiles  para mayor cantidad de situaciones. Que pasa si queremos llamar la función indicando el primer y último parámetro,  esto solo se puede hacer si al llamar la función indicamos que dato se le pasa a  cada parámetro: def mostrartitulo(dato,colorletra='#000',colorfondo='#fff'):  print '<h1 style=&quot;color:'+colorletra+';background-color:'+colorfondo+'&quot;>'+dato+'</h1>'  mostrartitulo(dato='Primer titulo',colorfondo='#00f'  Si bien se hace más engorroso la llamada a la función al tener que indicar el nombre  de cada parámetro junto al valor, nos trae como beneficio que sea aún más flexible.
Problema resuelto Confeccionar una función que reciba un dato a imprimir, con la posibilidad de  indicarle el color de fuente y el color de fondo, en caso de no indicarle dichos  valores la función muestra el dato con color negro y fondo blanco.  def mostrartitulo(dato,colorletra='#000',colorfondo='#fff'):  print '<h1 style=&quot;color:'+colorletra+';background-color:'+colorfondo+'&quot;>'+dato+'</h1>'  mostrartitulo('Primer titulo')  mostrartitulo('Segundo titulo','#f00')  mostrartitulo('Tercer titulo','#f00','#000')
Problema Propuesto Confeccionar una función que reciba entre 2 y 5 enteros. La misma nos debe retornar la suma de dichos valores.  def sumar(v1,v2,v3=0,v4=0,v5=0): s=v1+v2+v3+v4+v5 return s print sumar(5,6) print sumar(1,2,3) x=sumar(1,2,3,4,5) print x
Funciones con una cantidad variable de parámetros   (1/3) Otra posibilidad en la declaración de una función en Python es la definición de  una cantidad variable de parámetros. Para definir una cantidad variante de parámetros debemos antecederle el caracter  asterísco (*) al último parámetro de la función. Supongamos que necesitemos implementar una función que le enviemos una  serie de enteros y nos retorne la suma de todos ellos (como mínimo le enviamos  2 y no hay un máximo de valores): def sumar(x1,x2,*xn): s=x1+x2 for valor in xn: s=s+valor return s print sumar(1,2) print sumar(1,2,3,4) print sumar(1,2,3,4,5,6,7,8,9,10)
Funciones con una cantidad variable de parámetros  (2/3) Lo que en realidad el lenguaje Python hace es una tupla con todos los valores de  los parámetros a partir del tercero. Luego nuestro algoritmo debe recorrer la tupla para procesar los elementos  propiamente dichos, en nuestro caso con un for in y los sumamos junto al primer  y segundo parámetro. Luego cuando hacemos la llamada a la función print sumar(1,2)
Funciones con una cantidad variable de parámetros  (3/3) Si pasamos solo dos parámetros la tupla se inicializa vacía, por lo que el for in  no ejecuta el bloque contenido. Si llamamos la función con 10 parámetros: print sumar(1,2,3,4,5,6,7,8,9,10)  Luego la tupla se crea con 7 elementos.
Problema resuelto Implementar una función que le enviemos una serie de enteros y nos retorne la  suma de todos ellos (como mínimo le enviamos 2 y no hay un máximo de valores):  def sumar(x1,x2,*xn): s=x1+x2 for valor in xn: s=s+valor return s print sumar(1,2) print sumar(1,2,3,4) print sumar(1,2,3,4,5,6,7,8,9,10)
Problema Propuesto Confeccionar una función que le envíe una serie de edades y me retorne la  cantidad que son mayores a 18 (como mínimo se envía un entero a la función)  def cantidadmayor18(ed1,*edades): cant=0 if ed1>18: cant=cant+1 for e in edades: if e>18: cant=cant+1 return cant print 'Cantidad de personas mayores a 18:' cant=cantidadmayor18(4,56,14,67,32,21) print cant
BIBLIOGRAFÍA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 

Más contenido relacionado

La actualidad más candente (20)

Ejercicios con Python parte 05
Ejercicios con Python parte 05Ejercicios con Python parte 05
Ejercicios con Python parte 05
 
Ejercicios Python parte 4
Ejercicios Python parte 4Ejercicios Python parte 4
Ejercicios Python parte 4
 
Maple v comandos
Maple v comandosMaple v comandos
Maple v comandos
 
Python (ejercicios)
Python (ejercicios)Python (ejercicios)
Python (ejercicios)
 
01 el lenguaje Python
01 el lenguaje Python01 el lenguaje Python
01 el lenguaje Python
 
Descubriendo scala
Descubriendo scalaDescubriendo scala
Descubriendo scala
 
41 Php. Bucles For
41 Php. Bucles For41 Php. Bucles For
41 Php. Bucles For
 
De Cero A Python En 45 Min
De Cero A Python En 45 MinDe Cero A Python En 45 Min
De Cero A Python En 45 Min
 
Curso de Python
Curso de PythonCurso de Python
Curso de Python
 
Ejercicios Python Parte 1
Ejercicios Python Parte 1Ejercicios Python Parte 1
Ejercicios Python Parte 1
 
Guiaunidad iii
Guiaunidad iiiGuiaunidad iii
Guiaunidad iii
 
Problemas propuestos clase 0-1
Problemas propuestos  clase 0-1Problemas propuestos  clase 0-1
Problemas propuestos clase 0-1
 
Presentacion Visual Basic - SAIA B
Presentacion Visual Basic - SAIA BPresentacion Visual Basic - SAIA B
Presentacion Visual Basic - SAIA B
 
Apuntadores y direccionamiento
Apuntadores y direccionamientoApuntadores y direccionamiento
Apuntadores y direccionamiento
 
Ejercicio propuesto 2
Ejercicio propuesto 2Ejercicio propuesto 2
Ejercicio propuesto 2
 
Manual.es
Manual.esManual.es
Manual.es
 
02 pythonenpocospasosejercicios.ipynb colaboratory
02 pythonenpocospasosejercicios.ipynb   colaboratory02 pythonenpocospasosejercicios.ipynb   colaboratory
02 pythonenpocospasosejercicios.ipynb colaboratory
 
Clase 6
Clase 6Clase 6
Clase 6
 
Clase 1 - Python
Clase 1 - PythonClase 1 - Python
Clase 1 - Python
 
Fundamentos de programación librería string C++
Fundamentos de programación librería string C++Fundamentos de programación librería string C++
Fundamentos de programación librería string C++
 

Similar a Python05

Taller listasyeasygui
Taller listasyeasyguiTaller listasyeasygui
Taller listasyeasyguiAlbert Page
 
Clase 9 - Funciones de Python para programacion
Clase 9 - Funciones de Python para programacionClase 9 - Funciones de Python para programacion
Clase 9 - Funciones de Python para programacionCarlos598286
 
Fundamentos de programación.pptx
Fundamentos de programación.pptxFundamentos de programación.pptx
Fundamentos de programación.pptxvrykowayne1
 
Ejercicios Python - con soluciones.pdf
Ejercicios Python - con soluciones.pdfEjercicios Python - con soluciones.pdf
Ejercicios Python - con soluciones.pdfCriszehroReviewer
 
Tutorial sencillo manejo_de_pseint_y_dfd
Tutorial sencillo manejo_de_pseint_y_dfdTutorial sencillo manejo_de_pseint_y_dfd
Tutorial sencillo manejo_de_pseint_y_dfdjvtoro
 
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdfSesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdfMarxx4
 
Suma de imagenes
Suma de imagenesSuma de imagenes
Suma de imagenesanar26
 
Funciones con vectores c++
Funciones con vectores c++Funciones con vectores c++
Funciones con vectores c++jose machado
 
Argentina Programa Apendix parte 2.pdf
Argentina Programa Apendix parte 2.pdfArgentina Programa Apendix parte 2.pdf
Argentina Programa Apendix parte 2.pdfenzo935311
 
Comandos de Raptor,C# y Java
Comandos de Raptor,C# y JavaComandos de Raptor,C# y Java
Comandos de Raptor,C# y JavaAna Ruth G H
 
Práctica web de la sesión 3.pptx
Práctica web de la sesión 3.pptxPráctica web de la sesión 3.pptx
Práctica web de la sesión 3.pptxJOSEALFREDOZEPEDAMER
 
PresentacióN 4
PresentacióN 4PresentacióN 4
PresentacióN 4pokerpc
 
Presentación de matlab electromagnetismo ...
Presentación de matlab electromagnetismo                                     ...Presentación de matlab electromagnetismo                                     ...
Presentación de matlab electromagnetismo ...SimonCaceres4
 

Similar a Python05 (20)

Taller listasyeasygui
Taller listasyeasyguiTaller listasyeasygui
Taller listasyeasygui
 
Clase 9 - Funciones de Python para programacion
Clase 9 - Funciones de Python para programacionClase 9 - Funciones de Python para programacion
Clase 9 - Funciones de Python para programacion
 
Fundamentos de programación.pptx
Fundamentos de programación.pptxFundamentos de programación.pptx
Fundamentos de programación.pptx
 
Ejercicios Python - con soluciones.pdf
Ejercicios Python - con soluciones.pdfEjercicios Python - con soluciones.pdf
Ejercicios Python - con soluciones.pdf
 
Tutorial sencillo manejo_de_pseint_y_dfd
Tutorial sencillo manejo_de_pseint_y_dfdTutorial sencillo manejo_de_pseint_y_dfd
Tutorial sencillo manejo_de_pseint_y_dfd
 
Clase 7
Clase 7Clase 7
Clase 7
 
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdfSesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
 
Suma de imagenes
Suma de imagenesSuma de imagenes
Suma de imagenes
 
Los lenguajes
Los lenguajesLos lenguajes
Los lenguajes
 
Funciones con vectores c++
Funciones con vectores c++Funciones con vectores c++
Funciones con vectores c++
 
Tutorial bd y php
Tutorial bd y phpTutorial bd y php
Tutorial bd y php
 
F unciones exel
F unciones exelF unciones exel
F unciones exel
 
EXCEL ESTADISTICA
EXCEL ESTADISTICAEXCEL ESTADISTICA
EXCEL ESTADISTICA
 
Curso de Macros Excel
Curso de Macros ExcelCurso de Macros Excel
Curso de Macros Excel
 
Argentina Programa Apendix parte 2.pdf
Argentina Programa Apendix parte 2.pdfArgentina Programa Apendix parte 2.pdf
Argentina Programa Apendix parte 2.pdf
 
Comandos de Raptor,C# y Java
Comandos de Raptor,C# y JavaComandos de Raptor,C# y Java
Comandos de Raptor,C# y Java
 
Práctica web de la sesión 3.pptx
Práctica web de la sesión 3.pptxPráctica web de la sesión 3.pptx
Práctica web de la sesión 3.pptx
 
Exposicion iac
Exposicion iacExposicion iac
Exposicion iac
 
PresentacióN 4
PresentacióN 4PresentacióN 4
PresentacióN 4
 
Presentación de matlab electromagnetismo ...
Presentación de matlab electromagnetismo                                     ...Presentación de matlab electromagnetismo                                     ...
Presentación de matlab electromagnetismo ...
 

Más de Victor Pando

Análisis del Sector Metalmecánica
Análisis del Sector MetalmecánicaAnálisis del Sector Metalmecánica
Análisis del Sector MetalmecánicaVictor Pando
 
Video y Multimedia
Video y MultimediaVideo y Multimedia
Video y MultimediaVictor Pando
 
Panorama General de Open Office 3.0
Panorama General de Open Office 3.0Panorama General de Open Office 3.0
Panorama General de Open Office 3.0Victor Pando
 
Curso Básico de Windows XP
Curso Básico de Windows XPCurso Básico de Windows XP
Curso Básico de Windows XPVictor Pando
 
Tecnología Bluetooth
Tecnología BluetoothTecnología Bluetooth
Tecnología BluetoothVictor Pando
 
Redes WiFi 821.11 a vs. 802.11b
Redes WiFi 821.11 a vs. 802.11bRedes WiFi 821.11 a vs. 802.11b
Redes WiFi 821.11 a vs. 802.11bVictor Pando
 
Administración de Sistemas de Información
Administración de Sistemas de InformaciónAdministración de Sistemas de Información
Administración de Sistemas de InformaciónVictor Pando
 
Introducción al WAP
Introducción al WAPIntroducción al WAP
Introducción al WAPVictor Pando
 
Estado del Arte de Hardware y Software para Ingeniería Civil
Estado del Arte de Hardware y Software para Ingeniería CivilEstado del Arte de Hardware y Software para Ingeniería Civil
Estado del Arte de Hardware y Software para Ingeniería CivilVictor Pando
 

Más de Victor Pando (11)

Análisis del Sector Metalmecánica
Análisis del Sector MetalmecánicaAnálisis del Sector Metalmecánica
Análisis del Sector Metalmecánica
 
Linux02
Linux02Linux02
Linux02
 
Python06
Python06Python06
Python06
 
Video y Multimedia
Video y MultimediaVideo y Multimedia
Video y Multimedia
 
Panorama General de Open Office 3.0
Panorama General de Open Office 3.0Panorama General de Open Office 3.0
Panorama General de Open Office 3.0
 
Curso Básico de Windows XP
Curso Básico de Windows XPCurso Básico de Windows XP
Curso Básico de Windows XP
 
Tecnología Bluetooth
Tecnología BluetoothTecnología Bluetooth
Tecnología Bluetooth
 
Redes WiFi 821.11 a vs. 802.11b
Redes WiFi 821.11 a vs. 802.11bRedes WiFi 821.11 a vs. 802.11b
Redes WiFi 821.11 a vs. 802.11b
 
Administración de Sistemas de Información
Administración de Sistemas de InformaciónAdministración de Sistemas de Información
Administración de Sistemas de Información
 
Introducción al WAP
Introducción al WAPIntroducción al WAP
Introducción al WAP
 
Estado del Arte de Hardware y Software para Ingeniería Civil
Estado del Arte de Hardware y Software para Ingeniería CivilEstado del Arte de Hardware y Software para Ingeniería Civil
Estado del Arte de Hardware y Software para Ingeniería Civil
 

Último

la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 

Último (20)

la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 

Python05

  • 1. PYTHON Lección No. 5 M.Sc. Victor Pando Beltrán [email_address] http://www.civil-uancv.pe/aulavirtual
  • 2.
  • 3.
  • 4. Asignaciones múltiples (1/6) Python permite asignaciones múltiples: x1,x2,x3=1,2,3 print x1 # 1 print x2 # 2 print x3 # 3 Para entenderlo mejor podemos también utilizar esta sintaxis: x1,x2,x3=(1,2,3) print x1 # 1 print x2 # 2 print x3 # 3
  • 5. Asignaciones múltiples (2/6) Es decir lo que estamos haciendo inicializar cada una de las variables de la izquierda con las componentes homólogas (de la misma posición) de la tupla. Esta característica es útil si tenemos que recuperar por ejemplo de una lista que contiene tuplas de dos elementos que representan puntos en el plano (x,y): puntos=[(10,2),(4,2),(9,3)] for x,y in puntos: print 'Coordenada x:%d y:%d' % (x,y)
  • 6. Asignaciones múltiples (3/6) Cada vuelta del for se almacena en x e y los valores de la tupla a procesar. Otra aplicación muy útil es si queremos intercambiar el valor de dos variables la forma más simple es: x=10 y=20 print x # 10 print y # 20 x,y = y,x print x # 20 print y # 10
  • 7. Asignaciones múltiples (4/6) En una asignación pueden intervenir valores de distinto tipo (enteros, reales, string etc.): nombre,edad,sueldo=('juan',32,1500.30) print 'Nombre:%s Edad:%d Sueldo%10.2f' % (nombre,edad,sueldo) # Nombre:juan Edad:32 Sueldo 1500.30
  • 8. Asignaciones múltiples (5/6) Podemos con esto hacer que una función retorne más de un dato (por lo menos en apariencia), esto lo logramos retornando una tupla: def sumadiferencia(x1,x2): suma=x1+x2 diferencia=x1-x2 return (suma,diferencia) su,di=sumadiferencia(10,4) print su # 14 print di # 6
  • 9. Asignaciones múltiples (6/6) Como vemos llamamos a una función y le asignamos el valor devuelto a dos variables. Si queremos inicializar tres variables con el mismo valor la sintaxis que podemos utilizar es: x1=x2=x3=10 print x1 # 10 print x2 # 10 print x3 # 10
  • 10. Problema resuelto En una lista se almacenan tuplas con el nombre de una persona y su edad. Mostrar el nombre de la persona de mayor edad. personas=[('juan',22),('ana',40),('carlos',15)] may=-1 for nombre,edad in personas: if edad>may: nom=nombre may=edad print '%s tiene la edad mayor y es de %d' % (nom,may)
  • 11. Funciones con parámetros por defecto (1/5) Como habíamos visto una función es una estructura de programación que agrupa un conjunto de instrucciones y resuelve un problema particular. Una función puede tener parámetros, los mismos almacenan los valores que se le pasan cuando la llamamos. En algunos casos si queremos que la función sea mas flexible podemos definir parámetros con valores por defecto. Esto nos permite llamar a la función pudiendo o no pasar datos a dichos parámetros. Veamos con un ejemplo este concepto, vamos a desarrollar una función que reciba un dato a imprimir, con la posibilidad de indicarle el color de fuente y el color de fondo, en caso de no indicarle dichos valores la función muestra el dato con color negro y fondo blanco.
  • 12. Funciones con parámetros por defecto (2/5) def mostrartitulo(dato,colorletra='#000',colorfondo='#fff'): print '<h1 style=&quot;color:'+colorletra+';background-color:'+colorfondo+'&quot;>'+dato+'</h1>' mostrartitulo('Primer titulo') mostrartitulo('Segundo titulo','#f00') mostrartitulo('Tercer titulo','#f00','#000') Como podemos ver para indicar a Python que un parámetro es por defecto debemos utilizar el operador de asignación en la declaración de la cabecera de la función junto al valor que tomará dicho parámetro en caso de no pasarlo desde donde la llamamos: def mostrartitulo(dato,colorletra='#000',colorfondo='#fff'):
  • 13. Funciones con parámetros por defecto (3/5) Cuando llamamos la función mostrartitulo podemos hacerlo de diferentes maneras: mostrartitulo('Primer titulo') mostrartitulo('Segundo titulo','#f00') mostrartitulo('Tercer titulo','#f00','#000') La primera llamada es pasando un único dato, es decir solo el título que debe mostrar, en este caso el segundo y tercer parámetro toman como valor el indicado en el declaración: colorletra='#000',colorfondo='#fff'
  • 14. Funciones con parámetros por defecto (4/5) Podemos llamar a la función mostrartitulo pasando el primer parámetro y el segundo, lo que hace que el tercer parámetro se inicialice con el indicado en la declaración de la función: mostrartitulo('Segundo titulo','#f00') En el ejemplo la tercera llamada a la función se hace pasando tres parámetros: mostrartitulo('Tercer titulo','#f00','#000')
  • 15. Funciones con parámetros por defecto (5/5) Como podemos ver los parámetros por defecto nos permiten implementar funciones más generales, con esto podemos hacer que las funciones sean útiles para mayor cantidad de situaciones. Que pasa si queremos llamar la función indicando el primer y último parámetro, esto solo se puede hacer si al llamar la función indicamos que dato se le pasa a cada parámetro: def mostrartitulo(dato,colorletra='#000',colorfondo='#fff'): print '<h1 style=&quot;color:'+colorletra+';background-color:'+colorfondo+'&quot;>'+dato+'</h1>' mostrartitulo(dato='Primer titulo',colorfondo='#00f' Si bien se hace más engorroso la llamada a la función al tener que indicar el nombre de cada parámetro junto al valor, nos trae como beneficio que sea aún más flexible.
  • 16. Problema resuelto Confeccionar una función que reciba un dato a imprimir, con la posibilidad de indicarle el color de fuente y el color de fondo, en caso de no indicarle dichos valores la función muestra el dato con color negro y fondo blanco. def mostrartitulo(dato,colorletra='#000',colorfondo='#fff'): print '<h1 style=&quot;color:'+colorletra+';background-color:'+colorfondo+'&quot;>'+dato+'</h1>' mostrartitulo('Primer titulo') mostrartitulo('Segundo titulo','#f00') mostrartitulo('Tercer titulo','#f00','#000')
  • 17. Problema Propuesto Confeccionar una función que reciba entre 2 y 5 enteros. La misma nos debe retornar la suma de dichos valores. def sumar(v1,v2,v3=0,v4=0,v5=0): s=v1+v2+v3+v4+v5 return s print sumar(5,6) print sumar(1,2,3) x=sumar(1,2,3,4,5) print x
  • 18. Funciones con una cantidad variable de parámetros (1/3) Otra posibilidad en la declaración de una función en Python es la definición de una cantidad variable de parámetros. Para definir una cantidad variante de parámetros debemos antecederle el caracter asterísco (*) al último parámetro de la función. Supongamos que necesitemos implementar una función que le enviemos una serie de enteros y nos retorne la suma de todos ellos (como mínimo le enviamos 2 y no hay un máximo de valores): def sumar(x1,x2,*xn): s=x1+x2 for valor in xn: s=s+valor return s print sumar(1,2) print sumar(1,2,3,4) print sumar(1,2,3,4,5,6,7,8,9,10)
  • 19. Funciones con una cantidad variable de parámetros (2/3) Lo que en realidad el lenguaje Python hace es una tupla con todos los valores de los parámetros a partir del tercero. Luego nuestro algoritmo debe recorrer la tupla para procesar los elementos propiamente dichos, en nuestro caso con un for in y los sumamos junto al primer y segundo parámetro. Luego cuando hacemos la llamada a la función print sumar(1,2)
  • 20. Funciones con una cantidad variable de parámetros (3/3) Si pasamos solo dos parámetros la tupla se inicializa vacía, por lo que el for in no ejecuta el bloque contenido. Si llamamos la función con 10 parámetros: print sumar(1,2,3,4,5,6,7,8,9,10) Luego la tupla se crea con 7 elementos.
  • 21. Problema resuelto Implementar una función que le enviemos una serie de enteros y nos retorne la suma de todos ellos (como mínimo le enviamos 2 y no hay un máximo de valores): def sumar(x1,x2,*xn): s=x1+x2 for valor in xn: s=s+valor return s print sumar(1,2) print sumar(1,2,3,4) print sumar(1,2,3,4,5,6,7,8,9,10)
  • 22. Problema Propuesto Confeccionar una función que le envíe una serie de edades y me retorne la cantidad que son mayores a 18 (como mínimo se envía un entero a la función) def cantidadmayor18(ed1,*edades): cant=0 if ed1>18: cant=cant+1 for e in edades: if e>18: cant=cant+1 return cant print 'Cantidad de personas mayores a 18:' cant=cantidadmayor18(4,56,14,67,32,21) print cant
  • 23.
  • 24.