Anda di halaman 1dari 29

Introduccin a la Programacin

Funciones

Las Predefinidas: abs() Las que importamos de algn mdulo: Random.randint() (from random) Sqrt() (from math)

Funciones que ya conocemos

Programa llamador o invocador: Programa principal La funcin es invocada por el programa principal y se ejecuta. Cuando esto termina vuelve a la siguiente sentencia del Programa Principal.

Funciones

Ahora: Nuestras propias Funciones

#Esta funcin toma un nmero y lo eleva al cubo def cubo(x): return x**3
Observar el indentado !!

Definicin y uso de funciones con un solo parmetro

def (para definir la funcin) return (devolver un resultado)

Palabras Reservadas

#Esta funcin toma un nmero y lo eleva a la cuarta potencia def cuarta(x): return x**4

print(cuarta(3)) >>>81

Ejemplo

Cabecera de la funcin: La lnea que empieza con def

Parmetro formal: la variable que va entre parntesis en la cabecera de la funcin cuando la definimos.
Cuerpo de la funcin: el fragmento de programa que contiene los clculos que debe efectuar la funcin. Parmetro real o argumento: El valor que pasamos a una funcin cuando la invocamos.

Vocabulario

#Esta funcin toma un nmero y lo eleva a la cuarta potencia def cuarta(x): Parmetro formal return x**4
Cuerpo de la Funcin Cabecera

print(cuarta(3)) >>>81

Parmetro real o argumento

Invocacin de la Funcin

Ejemplo

Si solamente definimos la funcin y la ejecutamos, no ocurre nada.

#Esta funcin toma un nmero y lo eleva a la cuarta def cuarta(x): return x**4

Definir No es Invocar

10

#Esta funcin toma un nmero y lo eleva a la cuarta potencia def cuarta(x): return x**4 print(cuarta(3))

Hay que invocar

11

Las reglas para dar nombre a las funciones y a sus parmetros son las mismas que para dar nombre a las variables: slo se pueden usar letras, dgitos y el caracter de subrayado la primera letra del nombre no puede ser un nmero y no se pueden usar palabras reservadas.

Nombres de Funciones

12

Pero, cuidado!:
no se debe dar el mismo nombre a una funcin y a una variable. En Python, cada nombre debe identificar claramente un nico elemento: una variable o una funcin.

Nombres de Funciones

13

def es_mayor_de_edad(edad): if edad < 18: resultado = False else: resultado = True return resultado

Ejemplo

14

Es una forma de dar un nombre a un grupo de sentencias. Las funciones pueden simplificar un programa al esconder un computo complejo detrs de un comando simple, y usando una frase en lugar de cdigo complicado. Se puede eliminar cdigo repetitivo.

Para qu sirven las funciones

15

Supongamos que la funcin cuarta la guard en el programa potencias.py

from potencias import * a=cuarta(7)

Cmo llamo a una funcin guardada en un archivo?

16

Si guardo la funcin en el programa archivo.py from archivo import * # ac puedo llamar a la funcin

Cmo llamo a una funcin guardada en un archivo?

17

def suma(lista): s=0 for numero in lista: s += numero return s


print(suma(range(10)))

Cuando el argumento es una lista

18

def area_rectangulo(alto, ancho): return alto * ancho

# Al Invocar la funcin: print (area_rectangulo(3, 4))

Definicin y uso de funciones con varios parmetros

19

1: las importaciones
2: las funciones definidas 3: el programa principal

Buena tcnica de Programacin: Ordenar

20

from math import sqrt def cuadrado(x): return x**2 def suma_cuadrados(v): s=0 for e in v: s += cuadrado(e) return s # Programa principal vector = []

for i in range(3): vector.append(float(input(Dame un nmero: ))) y = suma_cuadrados(vector)


print (Distancia al origen:, sqrt(y))

Ejemplo: Dado un punto del Espacio calcular su distancia al origen.

21

1. Disear una funcin que reciba una cadena y

devuelva TRUE si empieza con minscula y FALSE en caso contrario. 2. Definir una funcin que devuelva el nmero de das que tiene un ao determinado. Tener en cuenta que un ao es bisiesto si es divisible por 4 y no divisible por 100, excepto si es tambin es divisible por 400, en cuyo caso es bisiesto.

Ejercicios:

22

def esMinuscula(texto): def esMinuscula4(texto): minus = "abcdefghijklmnopqrstuvwxyz" return(texto[0]==texto[0].lower()) return (texto[0] in minus) # para probar, cambio el valor de def esMinuscula2(texto): #analizar en el programa principal return (texto[0].islower()) def esMinuscula3(texto): analizar = "zoy" letra = texto[0] print(esMinuscula(analizar)) minus = "abcdefghijklmnopqrstuvwxyz"print(esMinuscula2(analizar)) i=0 print(esMinuscula3(analizar)) while i<len(minus) and letra!=minus[i]: print(esMinuscula4(analizar)) i=i+1 return(i!=len(minus))

Varias versiones para resolver minscula

23

Disear una funcin que, dada una lista de nmeros, calcule el mximo. Disear una funcin que, dada una lista de nmeros enteros, devuelva el nmero de series que hay en ella. Llamamos serie a todo tramo de la lista con valores idnticos. Por ejemplo, la lista [1, 1, 8, 8, 8, 8, 0, 0, 0, 2, 10, 10] tiene 5 series (tener en cuenta que el 2 forma parte de una serie de un solo elemento).

Ejercicios

24

Disear una funcin que, dada una lista de cadenas, devuelva la cadena ms larga. Si dos o ms cadenas miden lo mismo y son las ms largas, la funcin devolver una cualquiera de ellas. (Ejemplo: dada la lista [Pepe, Juan, Mara, Ana], la funcin devolver la cadena Mara.) Disear una funcin que, dada una lista de cadenas, devuelva una lista con todas las cadenas ms largas, es decir, si dos o ms cadenas miden lo mismo y son las ms largas, la lista las contendr a todas. (Ejemplo: dada la lista [Pepe, Ana, Juan, Paz], la funcin devolver la lista de dos elementos [Pepe, Juan].)

Ejercicios:

25

def lee_entero (): return int(input ()) a = lee_entero ()

Funciones que no tienen parmetros

26

def lee_entero_positivo(): numero = int(input()) while numero < 0: print(Ha cometido un error: el nmero debe ser positivo.) numero = int(input()) return numero a = lee_entero_positivo()

Ejemplo:

27

def menu(): opcion = while not (a <= opcion <= c): print Cajero automtico. print a) Ingresar dinero. print b) Sacar dinero. print c) Consultar saldo. opcion = input(Elige una opcin: ) if not (opcion >= a and opcion <= c): print (Slo puede elegir las letras a, b o c. Intntelo de nuevo.) return opcion

Funcin Men

28

Disear una funcin llamada menu_generico que reciba una lista con opciones. Cada opcin se asociar a un nmero entre 1 y la longitud de la lista y la funcin mostrar por pantalla el men con el nmero asociado a cada opcin. El usuario deber introducir por teclado una opcin. Si la opcin es vlida, se devolver su valor, y si no, se le advertir del error y se solicitar nuevamente la introduccin de un valor.

Ejercicio

29

Anda mungkin juga menyukai