20. Paràmetres amb valors d’omissió¶
Les funcions poden tenir ** paràmetres **, que són variables que s’utilitzen dins de la funció. Truqueu a la funció assignem ** Arguments ** (dades) als paràmetres de la funció.
Els paràmetres poden tenir valors predeterminats i en aquest cas es pot ometre l'argument a la trucada a la funció. Aquests paràmetres amb valors d’omissió s’han de situar a la dreta dels altres paràmetres.
Exemple
def saludo(nombre='María'):
print('Te saludo,', nombre)
saludo()
saludo('Nerea')
Sortida
Te saludo, María
Te saludo, Nerea
Com podeu veure, quan anomenem la funció sense cap argument, s’utilitza el valor d’omissió, que en aquest cas és “María”.
Exercicis¶
Escriviu una funció que indiqui els números divisibles per "divisor" en tots els números d'1 al número "Stop".
Pista
def multiplos(divisor, tope): contador = 0 ... multiplos(3, 20) multiplos(5, 50)
Sortida
Hay 6 múltiplos de 3 desde el 1 hasta el 20 Hay 10 múltiplos de 5 desde el 1 hasta el 50
Modifiqueu la funció anterior de manera que l'últim paràmetre tingui un valor predeterminat de 100.
Sortida
>>> multiplos(7) Hay 14 múltiplos de 7 desde el 1 hasta el 100
Escriviu una funció que indiqui les vocals d’una cadena de text.
Pista
def contar_vocales(cadena): vocales = 'aeiouAEIOUáéíóúÁÉÍÓÚ' contador = 0 for letra in cadena: if letra in vocales: ...
Sortida
En la cadena " Este es un ejemplo de cadena de texto " hay 14 vocales. En la cadena " En un lugar de la Mancha, de cuyo nombre no quiero acordarme " hay 22 vocales.
Escriviu una funció que imprimeixi el menor nombre de tres números que gastem com a arguments.
Pista
def menor(a, b, c): print('Número menor:', end=' ') if a < b and a < c: print(a) ... menor(3, 1, 7) menor(10, 2, 5) menor(6, 12, 3)
Sortida
Número menor: 1 Número menor: 2 Número menor: 3
Escriviu una funció que retorna "veritable" si tres números que tenim com a arguments estan ordenats de mínim al màxim. En cas contrari, heu de tornar "fals"
Pista
def ordenados(a, b, c): if a < b and b < c: ... ordenados(3, 1, 7) ordenados(5, 7, 10)
Sortida
False True
Escriviu una funció que imprimeixi tres números que tinguem com a arguments després de demanar -los. Utilitzeu la funció de l'exercici anterior per saber si els números estan ordenats.
Pista
def ordenar(a, b, c): print('Números ordenados:', end=' ') if ordenados(a, b, c): print(a, b, c) elif ordenados(a, c, b): print(a, c, b) ... ordenar(3, 7, 1) ordenar(10, 2, 5) ordenar(12, 6, 3)
Sortida
Números ordenados: 1 3 7 Números ordenados: 2 5 10 Números ordenados: 3 6 12