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

  1. 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
    
  2. 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
    
  3. 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.
    
  4. 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
    
  5. 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
    
  6. 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