SlideShare una empresa de Scribd logo
1 de 37
PYTHON Lección No. 3 M.Sc. Victor Pando Beltrán [email_address] http://www.civil-uancv.pe/aulavirtual
AGENDA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RECOMENDACIONES ,[object Object],[object Object],[object Object],[object Object]
Funciones (1/4) La estructura fundamental de programación de los lenguajes estructurados son  las funciones. Una función es un conjunto de instrucciones que se la invoca  mediante un nombre y que luego de ejecutado el algoritmo puede retornar un valor. Un programa estructurado no es más que un conjunto de funciones que en conjunto  resuelven un problema complejo. Veamos la sintaxis en Python para definir y llamar a una función: def presentacion():  print 'Primer mensaje.'  print 'Segundo mensaje.'  def fin():  print 'Ultimo mensaje.'  presentacion()  fin()
Funciones (2/4) Para definir una función utilizamos la palabra clave 'def' seguida por el nombre de la función, luego si no tiene parámetros como este caso debe ir paréntesis abiertos y cerrados y dos puntos. Seguidamente las instrucciones de la función se indentan a derecha.  def presentacion():  print 'Primer mensaje.'  print 'Segundo mensaje.'  Una función se ejecuta cuando se la llama por su nombre:  presentacion() Es importante notar que primero debemos declarar la función y luego llamarla.
Funciones (3/4) Una función puede tener parámetros de entrada, por ejemplo si queremos una función que reciba dos enteros y luego nos imprima el mayor, el algoritmo es el siguiente:  def imprimirmayor(valor1,valor2):  if valor1>valor2:  print valor1  else:  print valor2  imprimirmayor(4,5)  x1=20  x2=30  imprimirmayor(x1,x2)  Los parámetros de la función se indican en la cabecera de la función separados  por comas. Cuando llamamos a la función estamos obligados a enviarle datos a los dos  parámetros.
Funciones (4/4) Podemos enviarle directamente los valores:  imprimirmayor(4,5)  O podemos enviarle variables previamente inicializadas:  x1=20  x2=30  imprimirmayor(x1,x2)  Como podemos notar con este ejemplo una función puede ser llamada más  de una vez (en este caso la llamamos dos veces)
Problema resuelto Confeccionar una función que reciba un entero y luego imprima la tabla de  multiplicar de dicho valor (por ejemplo si recibe un 3 luego debe mostrar del 3  hasta el 30 de 3 en 3)  def mostrartabla(num): inicio=num fin=num*10 while inicio<=fin: print inicio print '-' inicio=inicio+num mostrartabla(3)
Problema propuesto Desarrollar una función que reciba dos enteros y nos muestre todos los valores  comprendidos entre ellos (el segundo parámetro siempre debe ser mayor al  primero)  def rangovalores(v1,v2):  inicio=v1  while inicio<=v2:  print inicio  inicio=inicio+1  rangovalores(2,20)
Funciones con retorno de dato (1/2) Hay muchas situaciones donde queremos que la función luego de ejecutarse  retorne un valor y se almacene en una variable desde donde la llamamos. Por ejemplo si necesitamos una función que reciba tres enteros y nos retorne  el mayor la sintaxis será la siguiente:  def retornarmayor(x1,x2,x3):  if x1<x2 and x1<x3:  return x1  elif x2<x3:  return x2  else: return x3  may=retornarmayor(4,5,3)  print may  Como podemos observar la instrucción return indica el valor devuelto por la función.
Funciones con retorno de dato (2/2) El valor retornado se almacena en una variable:  may=retornarmayor(4,5,3)  Podemos inclusive mostrar directamente el valor retornado por la función:  print retornarmayor(40,5,3)  O utilizarlo en una condición:  if retornarmayor(40,5,3)<20:  print 'El valor devuelto es mayor a 20'
Problema resuelto Confeccionar una función que reciba tres enteros y nos retorne la suma de dichos valores.  def sumar(x1,x2,x3): su=x1+x2+x3 return su total=sumar(10,30,42) print total
Problema Propuesto Desarrollar una función que reciba tres enteros y nos retorne la suma de los dos más  grandes.  def sumarmayores(x1,x2,x3):  if x1>x2 and x1>x3:  if x2>x3:  return x1+x2  else:  return x1+x3  elif x2>x3:  if x3>x1:  return x2+x3  else:  return x2+x1  else:  if x2>x1:  return x3+x2  else:  return x3+x1  print sumarmayores(100,200,30)
Estructura de datos tipo tupla (1/4) Hasta ahora hemos empleado variables que permiten almacenar un único valor. En Python existen varias estructuras de datos que permiten almacenar un  conjunto de datos. La primera que presentaremos es la tupla: Una tupla es una colección de datos no necesariamente del mismo tipo que se  los accede por medio de subíndices. Definición de una tupla: tupla1=('juan',18,1.92)  '  Hemos definido una tupla de tres elementos. El primer elemento es de tipo  cadena de caracteres, el segundo un entero y finalmente un valor flotante. Cada elemento de una tupla se los separa por una coma.
Estructura de datos tipo tupla (2/4) Para acceder a los elementos lo hacemos por medio del nombre de la tupla  y un subíndice numérico:  print tupla1[0] Los elementos de la tupla comienzan a numerarse a partir de cero y utilizamos los corchetes para hacer referencia al subíndice. Si queremos en algún momento saber la cantidad de elementos de una tupla  debemos llamar la función len: print len(tupla1) #imprime un 3
Estructura de datos tipo tupla (3/4) con dicha función podemos disponer una estructura repetitiva para imprimir todas las componentes de la tupla con el siguiente algoritmo:  :  tupla1=('juan',18,1.92)  indice=0  while indice<len(tupla1):  print tupla1[indice]  indice=indice+1  Veremos en el próximo concepto que hay una estructura repetitiva que nos  facilita recorrer los elementos de una tupla. Una vez definida la tupla no se pueden modificar los valores almacenados. La función print puede recibir como parámetro una tupla y se encarga de  mostrarla en forma completa: print tupla1
Estructura de datos tipo tupla (4/4) De todos modos cuando tenemos que acceder a algún elemento de la tupla  debemos hacerlo mediante un subíndice entre corchetes. La característica fundamental de una tupla es que una vez creada no podemos modificar sus elementos, ni tampoco agregar o eliminar.
Problema resuelto Definir dos tuplas que almacenen en una los nombres de los meses y en otra la  cantidad de días que tiene cada mes del año. Luego mostrar el contenido  almacenado en las mismas.  meses=('enero','febrero','marzo','abril','mayo','junio','julio','agosto', 'septiembre','octubre','noviembre','diciembre') cantidaddias=(31,28,31,30,31,30,31,31,30,31,30,31) indice=0 while indice<len(meses): print meses[indice] print ':' print cantidaddias[indice] print '<br>' indice=indice+1
Problema Propuesto Definir una tupla que almacene 5 enteros. Implementar un algoritmo que imprima la suma de todos los elementos.  tupla1=(6,33,56,3,45) suma=0 indice=0  while indice<len(tupla1): suma=suma+tupla1[indice] indice=indice+1 print 'El contenido de la tupla es:‘ print tupla1 print 'La suma es:‘ print suma
Estructura repetitiva for in para recorrer una tupla Para recorrer una tupla es muy común utilizar la estructura repetitiva for. Veamos con un ejemplo la sintaxis de esta estructura repetitiva:  tupla1=('juan',23,1.92)  for elemento in tupla1:  print elemento  Como podemos ver la instrucción for requiere una variable (en este ejemplo  llamada elemento), luego la palabra clave in y por último la tupla. El bloque del for se ejecuta tantas veces como elementos tenga la tupla, y en cada vuelta del for la variable elemento almacena un valor de la tupla1. Esta estructura repetitiva se adapta mucho mejor que el while para recorrer  este tipo de estructuras de datos.
Problema resuelto Definir una tupla con 5 valores enteros. Imprimir los valores mayores o iguales a 18.  tupla1=(45,34,2,56,1) for elemento in tupla1: if elemento>=18: print elemento
Problema Propuesto Definir una tupla con 10 edades de personas. Imprimir la cantidad de personas con edades superiores a 20.  tupla1=(45,78,3,56,3,45,34,2,56,1)  cantidad=0  for elemento in tupla1:  if elemento>20:  cantidad=cantidad+1  print 'Cantidad de personas con edades superiores a 20:'  print cantidad
Porciones de tuplas (1/2) El lenguaje Python nos permite rescatar una &quot;porción&quot; de una tupla, es decir un trozo de la misma. Si tenemos la siguiente tupla: tupla1=(1,7,20,40,51,3)  tupla2=tupla1[0:4]  print tupla2  El resultado es una tupla con cuatro valores:  (1,7,20,40)  Es decir indicamos como subíndice un rango de valores, en este caso desde la posición 0 hasta la posición 4 sin incluirla.
Porciones de tuplas (2/2) Podemos no indicar alguno de los dos rangos:  tupla1=(1,7,20,40,51,3)  tupla2=tupla1[3:]  print tupla2  El resultado es una tupla con tres valores, desde la posición 3 hasta el final de la tupla:  (40, 51, 3)   En caso de no indicar el primer rango:  tupla1=(1,7,20,40,51,3)  tupla2=tupla1[:2] print tupla2  El resultado es una tupla con dos valores, desde el principio de la tupla hasta  la posición 2 sin incluirla:  (1, 7)
Problema resuelto Definir una tupla con los nombres de los meses. Generar dos tuplas que almacenen  los primeros 6 meses la primera y los siguientes 6 meses la segunda.  meses=('enero','febrero','marzo','abril','mayo','junio','julio','agosto', 'septiembre','octubre','noviembre','diciembre') tupla1=meses[:6] tupla2=meses[6:] print tupla1 print tupla2
Problema Propuesto Almacenar en una tupla 5 nombres. Luego generar un valor aleatorio entre 2 y 4. Copiar a una tupla el nombre de la posición indicada por el valor aleatorio y los nombres que se encuentran en la posición anterior y posterior.  import random  nombre=('juan','ana','luis','carlos','roman')  ale=random.randint(1,3) tresnombres=nombre[ale-1:ale+2]  print tresnombres
Estructura de datos tipo cadena de caracteres (string) (1/5) Una cadena de caracteres permite almacenar un conjunto de caracteres.  Su funcionamiento es similar a una tupla. Para inicializar un string utilizamos el operador de asignación.  nombre='Juan Pablo'  Podemos utilizar las comillas simples o dobles para su inicialización:  mail='jose@gmail.com'  O mail=&quot;jose@gmail.com&quot;
Estructura de datos tipo cadena de caracteres (string) (2/5) Para conocer el largo de un string podemos utilizar la función len:  print len(mail) Para acceder a un caracter particular del string lo hacemos indicando un  subíndice entre corchetes:  print mail[0] #Imprimimos el primer caracter  El lenguaje Python nos permite rescatar una &quot;porción&quot; de un string con la misma  sintaxis que trabajamos las tuplas:  nombre='Jose Maria'  print nombre[1:4] #ose  print nombre[:4] #Jose  print nombre[5:] #Maria
Estructura de datos tipo cadena de caracteres (string) (3/5) Los string son inmutables, es decir que no podemos modificar su contenido luego  de ser inicializados:  titulo='Administracion'  titulo[0]='X' # Esto produce un error  Esto no significa que no podemos utilizar la variable para que referencie a otro string:  nombre='Jose'  print nombre  nombre='Ana'  print nombre  Para concatenar string Python permite utilizar el operador +. Si tenemos tres string y queremos almacenar sus contenidos en un cuarto  string podemos codificarlo de la siguiente manera:  cadena1='uno'  cadena2='dos'  cadena3='tres'  total=cadena1+cadena2+cadena3  print total #unodostres
Estructura de datos tipo cadena de caracteres (string) (4/5) También Python define el operador * para los string. El resultado de multiplicar un string por un entero es otro string que repite el string original tantas veces  como indica el número.  #si queremos un string con 80 caracteres de subrayado,  #la forma más sencilla es utilizar la siguiente expresión:  separador='_'*80  print separador  Los operadores relacionales definidos para los string son:  Mayor  >= Mayor o igual  < Menor  <= Menor o igual  == Igual  != Distinto
Estructura de datos tipo cadena de caracteres (string) (5/5) Si queremos saber si un string es mayor alfabéticamente que otro utilizamos el operador >  nombre1='CARLOS'  nombre2='ANABEL'  if nombre1>nombre2:  print nombre1+' es mayor alfabéticamente que '+nombre2  si queremos saber si dos variables tienes en mismo contenido:  nombre1='CARLOS'  nombre2='CARLOS'  if nombre1==nombre2:  print 'Las dos variables tienen el mismo contenido:'+nombre1
Problema resuelto (1/2) Elaborar una función que reciba un string y retorne la cantidad de vocales que tiene.  def cantidadvocales(cadena): cant=0 for letra in cadena: if letra=='a': cant=cant+1 if letra=='e': cant=cant+1 if letra=='i': cant=cant+1 if letra=='o': cant=cant+1 if letra=='u': cant=cant+1 if letra=='A': cant=cant+1
Problema resuelto (2/2) if letra=='E': cant=cant+1 if letra=='I': cant=cant+1 if letra=='O': cant=cant+1 if letra=='U': cant=cant+1 return cant print 'Cantidad de vocales en la palabra Hola:' print cantidadvocales('Hola') print 'Cantidad de vocales en la palabra Computadora:' print cantidadvocales('Computadora')
Problema Propuesto (1/2) Elaborar las siguientes funciones: - Una función que reciba un string y nos retorne el primer caracter. - Una función que reciba un apellido y un nombre, y nos retorne un único string con el apellido y nombre concatenados y separados por una coma. - Una función que reciba dos string y nos retorne el que tiene menos caracteres.  def primercaracter(cadena):  return cadena[0]  def concatenar(apellido,nombre):  return apellido+','+nombre  def menor(cadena1,cadena2):  if len(cadena1)<len(cadena2):  return cadena1  else:  return cadena2
Problema Propuesto (2/2) cad='Hola Mundo'  print 'Primer caracter de '+cad+' es '+primercaracter(cad)  nom='juan‘ ape='rodriguez'  print 'Apellido y nombre concatenados:'+concatenar(ape,nom)  cad1='Hola'  cad2='Fin'  print 'De: '+cad1+' y '+cad2+' tiene menos caracteres '+menor(cad1,cad2)
BIBLIOGRAFÍA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 

Más contenido relacionado

La actualidad más candente

Problemas propuestos clase 0-1
Problemas propuestos  clase 0-1Problemas propuestos  clase 0-1
Problemas propuestos clase 0-1
Jefferson Prieto
 
Clase 11- fundamentos de la programacion
Clase 11- fundamentos de la programacionClase 11- fundamentos de la programacion
Clase 11- fundamentos de la programacion
diego MC
 
Ejercicio propuesto 2
Ejercicio propuesto 2Ejercicio propuesto 2
Ejercicio propuesto 2
jfranco_123
 
Algoritmos - Funciones C++
Algoritmos - Funciones C++ Algoritmos - Funciones C++
Algoritmos - Funciones C++
Ronal Palomino
 

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
 
01 el lenguaje Python
01 el lenguaje Python01 el lenguaje Python
01 el lenguaje Python
 
Semana 3 Fundamentos de Python(Funciones y Métodos)
Semana 3   Fundamentos de Python(Funciones y Métodos)Semana 3   Fundamentos de Python(Funciones y Métodos)
Semana 3 Fundamentos de Python(Funciones y Métodos)
 
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Semana 2   Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)Semana 2   Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
 
Curso de Python
Curso de PythonCurso de Python
Curso de Python
 
41 Php. Bucles For
41 Php. Bucles For41 Php. Bucles For
41 Php. Bucles For
 
Apuntadores y direccionamiento
Apuntadores y direccionamientoApuntadores y direccionamiento
Apuntadores y direccionamiento
 
Ejercicios Python Parte 1
Ejercicios Python Parte 1Ejercicios Python Parte 1
Ejercicios Python Parte 1
 
Manual.es
Manual.esManual.es
Manual.es
 
Problemas propuestos clase 0-1
Problemas propuestos  clase 0-1Problemas propuestos  clase 0-1
Problemas propuestos clase 0-1
 
Clase 1 - Python
Clase 1 - PythonClase 1 - Python
Clase 1 - Python
 
Guia tortugarte
Guia tortugarteGuia tortugarte
Guia tortugarte
 
Clase 11- fundamentos de la programacion
Clase 11- fundamentos de la programacionClase 11- fundamentos de la programacion
Clase 11- fundamentos de la programacion
 
Script de Punteros a Funciones
Script de Punteros a FuncionesScript de Punteros a Funciones
Script de Punteros a Funciones
 
Semana 4 Estructuras de datos(Tuplas, Conjuntos y Diccionarios)
Semana 4   Estructuras de datos(Tuplas, Conjuntos y Diccionarios)Semana 4   Estructuras de datos(Tuplas, Conjuntos y Diccionarios)
Semana 4 Estructuras de datos(Tuplas, Conjuntos y Diccionarios)
 
Ejercicio propuesto 2
Ejercicio propuesto 2Ejercicio propuesto 2
Ejercicio propuesto 2
 
Algoritmos - Funciones C++
Algoritmos - Funciones C++ Algoritmos - Funciones C++
Algoritmos - Funciones C++
 
Programación de Videojuegos con Python y Pilas (II)
Programación de Videojuegos con Python y Pilas (II)Programación de Videojuegos con Python y Pilas (II)
Programación de Videojuegos con Python y Pilas (II)
 

Similar a Python03

Unidad6 funciones
Unidad6 funcionesUnidad6 funciones
Unidad6 funciones
moii Hp
 
Fonciones de cadenas
Fonciones de cadenasFonciones de cadenas
Fonciones de cadenas
mkbenitez
 
Funciones propias de visual basic
Funciones propias de visual basicFunciones propias de visual basic
Funciones propias de visual basic
Yesenia Bautista
 
Fundamentos de java I
Fundamentos de java IFundamentos de java I
Fundamentos de java I
Jitle Noriega
 

Similar a Python03 (20)

Taller listasyeasygui
Taller listasyeasyguiTaller listasyeasygui
Taller listasyeasygui
 
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
 
Funciones con vectores c++
Funciones con vectores c++Funciones con vectores c++
Funciones con vectores c++
 
Unidad6 funciones
Unidad6 funcionesUnidad6 funciones
Unidad6 funciones
 
9. listas y for-in
9.  listas y for-in9.  listas y for-in
9. listas y for-in
 
dqwrwer
dqwrwerdqwrwer
dqwrwer
 
Argentina Programa Apendix parte 2.pdf
Argentina Programa Apendix parte 2.pdfArgentina Programa Apendix parte 2.pdf
Argentina Programa Apendix parte 2.pdf
 
Funciones
FuncionesFunciones
Funciones
 
Presentación de matlab electromagnetismo ...
Presentación de matlab electromagnetismo                                     ...Presentación de matlab electromagnetismo                                     ...
Presentación de matlab electromagnetismo ...
 
Clase 6
Clase 6Clase 6
Clase 6
 
Arrays en VB 6.0
Arrays en VB 6.0Arrays en VB 6.0
Arrays en VB 6.0
 
Fonciones de cadenas
Fonciones de cadenasFonciones de cadenas
Fonciones de cadenas
 
Funciones de cadena
Funciones de cadenaFunciones de cadena
Funciones de cadena
 
Fonciones de cadenas
Fonciones de cadenasFonciones de cadenas
Fonciones de cadenas
 
Funciones
FuncionesFunciones
Funciones
 
Funciones
FuncionesFunciones
Funciones
 
Funciones propias de visual basic
Funciones propias de visual basicFunciones propias de visual basic
Funciones propias de visual basic
 
Funciones en lenguage c
Funciones en lenguage cFunciones en lenguage c
Funciones en lenguage c
 
Fundamentos de java I
Fundamentos de java IFundamentos de java I
Fundamentos de java I
 

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ánica
Victor 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

TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 

Último (20)

ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docx
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 

Python03

  • 1. PYTHON Lección No. 3 M.Sc. Victor Pando Beltrán [email_address] http://www.civil-uancv.pe/aulavirtual
  • 2.
  • 3.
  • 4. Funciones (1/4) La estructura fundamental de programación de los lenguajes estructurados son las funciones. Una función es un conjunto de instrucciones que se la invoca mediante un nombre y que luego de ejecutado el algoritmo puede retornar un valor. Un programa estructurado no es más que un conjunto de funciones que en conjunto resuelven un problema complejo. Veamos la sintaxis en Python para definir y llamar a una función: def presentacion(): print 'Primer mensaje.' print 'Segundo mensaje.' def fin(): print 'Ultimo mensaje.' presentacion() fin()
  • 5. Funciones (2/4) Para definir una función utilizamos la palabra clave 'def' seguida por el nombre de la función, luego si no tiene parámetros como este caso debe ir paréntesis abiertos y cerrados y dos puntos. Seguidamente las instrucciones de la función se indentan a derecha. def presentacion(): print 'Primer mensaje.' print 'Segundo mensaje.' Una función se ejecuta cuando se la llama por su nombre: presentacion() Es importante notar que primero debemos declarar la función y luego llamarla.
  • 6. Funciones (3/4) Una función puede tener parámetros de entrada, por ejemplo si queremos una función que reciba dos enteros y luego nos imprima el mayor, el algoritmo es el siguiente: def imprimirmayor(valor1,valor2): if valor1>valor2: print valor1 else: print valor2 imprimirmayor(4,5) x1=20 x2=30 imprimirmayor(x1,x2) Los parámetros de la función se indican en la cabecera de la función separados por comas. Cuando llamamos a la función estamos obligados a enviarle datos a los dos parámetros.
  • 7. Funciones (4/4) Podemos enviarle directamente los valores: imprimirmayor(4,5) O podemos enviarle variables previamente inicializadas: x1=20 x2=30 imprimirmayor(x1,x2) Como podemos notar con este ejemplo una función puede ser llamada más de una vez (en este caso la llamamos dos veces)
  • 8. Problema resuelto Confeccionar una función que reciba un entero y luego imprima la tabla de multiplicar de dicho valor (por ejemplo si recibe un 3 luego debe mostrar del 3 hasta el 30 de 3 en 3) def mostrartabla(num): inicio=num fin=num*10 while inicio<=fin: print inicio print '-' inicio=inicio+num mostrartabla(3)
  • 9. Problema propuesto Desarrollar una función que reciba dos enteros y nos muestre todos los valores comprendidos entre ellos (el segundo parámetro siempre debe ser mayor al primero) def rangovalores(v1,v2): inicio=v1 while inicio<=v2: print inicio inicio=inicio+1 rangovalores(2,20)
  • 10. Funciones con retorno de dato (1/2) Hay muchas situaciones donde queremos que la función luego de ejecutarse retorne un valor y se almacene en una variable desde donde la llamamos. Por ejemplo si necesitamos una función que reciba tres enteros y nos retorne el mayor la sintaxis será la siguiente: def retornarmayor(x1,x2,x3): if x1<x2 and x1<x3: return x1 elif x2<x3: return x2 else: return x3 may=retornarmayor(4,5,3) print may Como podemos observar la instrucción return indica el valor devuelto por la función.
  • 11. Funciones con retorno de dato (2/2) El valor retornado se almacena en una variable: may=retornarmayor(4,5,3) Podemos inclusive mostrar directamente el valor retornado por la función: print retornarmayor(40,5,3) O utilizarlo en una condición: if retornarmayor(40,5,3)<20: print 'El valor devuelto es mayor a 20'
  • 12. Problema resuelto Confeccionar una función que reciba tres enteros y nos retorne la suma de dichos valores. def sumar(x1,x2,x3): su=x1+x2+x3 return su total=sumar(10,30,42) print total
  • 13. Problema Propuesto Desarrollar una función que reciba tres enteros y nos retorne la suma de los dos más grandes. def sumarmayores(x1,x2,x3): if x1>x2 and x1>x3: if x2>x3: return x1+x2 else: return x1+x3 elif x2>x3: if x3>x1: return x2+x3 else: return x2+x1 else: if x2>x1: return x3+x2 else: return x3+x1 print sumarmayores(100,200,30)
  • 14. Estructura de datos tipo tupla (1/4) Hasta ahora hemos empleado variables que permiten almacenar un único valor. En Python existen varias estructuras de datos que permiten almacenar un conjunto de datos. La primera que presentaremos es la tupla: Una tupla es una colección de datos no necesariamente del mismo tipo que se los accede por medio de subíndices. Definición de una tupla: tupla1=('juan',18,1.92) ' Hemos definido una tupla de tres elementos. El primer elemento es de tipo cadena de caracteres, el segundo un entero y finalmente un valor flotante. Cada elemento de una tupla se los separa por una coma.
  • 15. Estructura de datos tipo tupla (2/4) Para acceder a los elementos lo hacemos por medio del nombre de la tupla y un subíndice numérico: print tupla1[0] Los elementos de la tupla comienzan a numerarse a partir de cero y utilizamos los corchetes para hacer referencia al subíndice. Si queremos en algún momento saber la cantidad de elementos de una tupla debemos llamar la función len: print len(tupla1) #imprime un 3
  • 16. Estructura de datos tipo tupla (3/4) con dicha función podemos disponer una estructura repetitiva para imprimir todas las componentes de la tupla con el siguiente algoritmo: : tupla1=('juan',18,1.92) indice=0 while indice<len(tupla1): print tupla1[indice] indice=indice+1 Veremos en el próximo concepto que hay una estructura repetitiva que nos facilita recorrer los elementos de una tupla. Una vez definida la tupla no se pueden modificar los valores almacenados. La función print puede recibir como parámetro una tupla y se encarga de mostrarla en forma completa: print tupla1
  • 17. Estructura de datos tipo tupla (4/4) De todos modos cuando tenemos que acceder a algún elemento de la tupla debemos hacerlo mediante un subíndice entre corchetes. La característica fundamental de una tupla es que una vez creada no podemos modificar sus elementos, ni tampoco agregar o eliminar.
  • 18. Problema resuelto Definir dos tuplas que almacenen en una los nombres de los meses y en otra la cantidad de días que tiene cada mes del año. Luego mostrar el contenido almacenado en las mismas. meses=('enero','febrero','marzo','abril','mayo','junio','julio','agosto', 'septiembre','octubre','noviembre','diciembre') cantidaddias=(31,28,31,30,31,30,31,31,30,31,30,31) indice=0 while indice<len(meses): print meses[indice] print ':' print cantidaddias[indice] print '<br>' indice=indice+1
  • 19. Problema Propuesto Definir una tupla que almacene 5 enteros. Implementar un algoritmo que imprima la suma de todos los elementos. tupla1=(6,33,56,3,45) suma=0 indice=0 while indice<len(tupla1): suma=suma+tupla1[indice] indice=indice+1 print 'El contenido de la tupla es:‘ print tupla1 print 'La suma es:‘ print suma
  • 20. Estructura repetitiva for in para recorrer una tupla Para recorrer una tupla es muy común utilizar la estructura repetitiva for. Veamos con un ejemplo la sintaxis de esta estructura repetitiva: tupla1=('juan',23,1.92) for elemento in tupla1: print elemento Como podemos ver la instrucción for requiere una variable (en este ejemplo llamada elemento), luego la palabra clave in y por último la tupla. El bloque del for se ejecuta tantas veces como elementos tenga la tupla, y en cada vuelta del for la variable elemento almacena un valor de la tupla1. Esta estructura repetitiva se adapta mucho mejor que el while para recorrer este tipo de estructuras de datos.
  • 21. Problema resuelto Definir una tupla con 5 valores enteros. Imprimir los valores mayores o iguales a 18. tupla1=(45,34,2,56,1) for elemento in tupla1: if elemento>=18: print elemento
  • 22. Problema Propuesto Definir una tupla con 10 edades de personas. Imprimir la cantidad de personas con edades superiores a 20. tupla1=(45,78,3,56,3,45,34,2,56,1) cantidad=0 for elemento in tupla1: if elemento>20: cantidad=cantidad+1 print 'Cantidad de personas con edades superiores a 20:' print cantidad
  • 23. Porciones de tuplas (1/2) El lenguaje Python nos permite rescatar una &quot;porción&quot; de una tupla, es decir un trozo de la misma. Si tenemos la siguiente tupla: tupla1=(1,7,20,40,51,3) tupla2=tupla1[0:4] print tupla2 El resultado es una tupla con cuatro valores: (1,7,20,40) Es decir indicamos como subíndice un rango de valores, en este caso desde la posición 0 hasta la posición 4 sin incluirla.
  • 24. Porciones de tuplas (2/2) Podemos no indicar alguno de los dos rangos: tupla1=(1,7,20,40,51,3) tupla2=tupla1[3:] print tupla2 El resultado es una tupla con tres valores, desde la posición 3 hasta el final de la tupla: (40, 51, 3) En caso de no indicar el primer rango: tupla1=(1,7,20,40,51,3) tupla2=tupla1[:2] print tupla2 El resultado es una tupla con dos valores, desde el principio de la tupla hasta la posición 2 sin incluirla: (1, 7)
  • 25. Problema resuelto Definir una tupla con los nombres de los meses. Generar dos tuplas que almacenen los primeros 6 meses la primera y los siguientes 6 meses la segunda. meses=('enero','febrero','marzo','abril','mayo','junio','julio','agosto', 'septiembre','octubre','noviembre','diciembre') tupla1=meses[:6] tupla2=meses[6:] print tupla1 print tupla2
  • 26. Problema Propuesto Almacenar en una tupla 5 nombres. Luego generar un valor aleatorio entre 2 y 4. Copiar a una tupla el nombre de la posición indicada por el valor aleatorio y los nombres que se encuentran en la posición anterior y posterior. import random nombre=('juan','ana','luis','carlos','roman') ale=random.randint(1,3) tresnombres=nombre[ale-1:ale+2] print tresnombres
  • 27. Estructura de datos tipo cadena de caracteres (string) (1/5) Una cadena de caracteres permite almacenar un conjunto de caracteres. Su funcionamiento es similar a una tupla. Para inicializar un string utilizamos el operador de asignación. nombre='Juan Pablo' Podemos utilizar las comillas simples o dobles para su inicialización: mail='jose@gmail.com' O mail=&quot;jose@gmail.com&quot;
  • 28. Estructura de datos tipo cadena de caracteres (string) (2/5) Para conocer el largo de un string podemos utilizar la función len: print len(mail) Para acceder a un caracter particular del string lo hacemos indicando un subíndice entre corchetes: print mail[0] #Imprimimos el primer caracter El lenguaje Python nos permite rescatar una &quot;porción&quot; de un string con la misma sintaxis que trabajamos las tuplas: nombre='Jose Maria' print nombre[1:4] #ose print nombre[:4] #Jose print nombre[5:] #Maria
  • 29. Estructura de datos tipo cadena de caracteres (string) (3/5) Los string son inmutables, es decir que no podemos modificar su contenido luego de ser inicializados: titulo='Administracion' titulo[0]='X' # Esto produce un error Esto no significa que no podemos utilizar la variable para que referencie a otro string: nombre='Jose' print nombre nombre='Ana' print nombre Para concatenar string Python permite utilizar el operador +. Si tenemos tres string y queremos almacenar sus contenidos en un cuarto string podemos codificarlo de la siguiente manera: cadena1='uno' cadena2='dos' cadena3='tres' total=cadena1+cadena2+cadena3 print total #unodostres
  • 30. Estructura de datos tipo cadena de caracteres (string) (4/5) También Python define el operador * para los string. El resultado de multiplicar un string por un entero es otro string que repite el string original tantas veces como indica el número. #si queremos un string con 80 caracteres de subrayado, #la forma más sencilla es utilizar la siguiente expresión: separador='_'*80 print separador Los operadores relacionales definidos para los string son: Mayor >= Mayor o igual < Menor <= Menor o igual == Igual != Distinto
  • 31. Estructura de datos tipo cadena de caracteres (string) (5/5) Si queremos saber si un string es mayor alfabéticamente que otro utilizamos el operador > nombre1='CARLOS' nombre2='ANABEL' if nombre1>nombre2: print nombre1+' es mayor alfabéticamente que '+nombre2 si queremos saber si dos variables tienes en mismo contenido: nombre1='CARLOS' nombre2='CARLOS' if nombre1==nombre2: print 'Las dos variables tienen el mismo contenido:'+nombre1
  • 32. Problema resuelto (1/2) Elaborar una función que reciba un string y retorne la cantidad de vocales que tiene. def cantidadvocales(cadena): cant=0 for letra in cadena: if letra=='a': cant=cant+1 if letra=='e': cant=cant+1 if letra=='i': cant=cant+1 if letra=='o': cant=cant+1 if letra=='u': cant=cant+1 if letra=='A': cant=cant+1
  • 33. Problema resuelto (2/2) if letra=='E': cant=cant+1 if letra=='I': cant=cant+1 if letra=='O': cant=cant+1 if letra=='U': cant=cant+1 return cant print 'Cantidad de vocales en la palabra Hola:' print cantidadvocales('Hola') print 'Cantidad de vocales en la palabra Computadora:' print cantidadvocales('Computadora')
  • 34. Problema Propuesto (1/2) Elaborar las siguientes funciones: - Una función que reciba un string y nos retorne el primer caracter. - Una función que reciba un apellido y un nombre, y nos retorne un único string con el apellido y nombre concatenados y separados por una coma. - Una función que reciba dos string y nos retorne el que tiene menos caracteres. def primercaracter(cadena): return cadena[0] def concatenar(apellido,nombre): return apellido+','+nombre def menor(cadena1,cadena2): if len(cadena1)<len(cadena2): return cadena1 else: return cadena2
  • 35. Problema Propuesto (2/2) cad='Hola Mundo' print 'Primer caracter de '+cad+' es '+primercaracter(cad) nom='juan‘ ape='rodriguez' print 'Apellido y nombre concatenados:'+concatenar(ape,nom) cad1='Hola' cad2='Fin' print 'De: '+cad1+' y '+cad2+' tiene menos caracteres '+menor(cad1,cad2)
  • 36.
  • 37.