Funciones
Las Predefinidas: abs() Las que importamos de algn mdulo: Random.randint() (from random) Sqrt() (from math)
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
#Esta funcin toma un nmero y lo eleva al cubo def cubo(x): return x**3
Observar el indentado !!
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
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
Invocacin de la Funcin
Ejemplo
#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))
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.
15
16
Si guardo la funcin en el programa archivo.py from archivo import * # ac puedo llamar a la funcin
17
18
19
1: las importaciones
2: las funciones definidas 3: el programa principal
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 = []
21
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))
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
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