Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Desafío: Argumentos Opcionales | Argumentos Posicionales y Opcionales
Tutorial de Funciones en Python
Sección 2. Capítulo 4
single

single

bookDesafío: Argumentos Opcionales

Desliza para mostrar el menú

Recuerda que al definir una función, puedes hacer que algunos argumentos sean opcionales asignándoles un valor predeterminado. Si quien llama a la función no proporciona un valor, la función utiliza el valor predeterminado.

def add_user(name, age, role="user", status="active"):
    # Function body here
  • name y age son obligatorios – siempre deben proporcionarse;
  • role y status son opcionales – si se omiten, se usan sus valores predeterminados.

Recuerda que los argumentos opcionales siempre deben ir después de todos los argumentos obligatorios.

add_user("Alice", 28)           # role="user", status="active" by default
add_user("Bob", 25, role="admin", status="inactive")  # Overriding the defaults
12345678
def greet(name, greeting="Hello"): print(f"{greeting}, {name}!") # Using only the required argument greet("Alice") # Providing both arguments greet("Bob", greeting="Hi")
copy
Tarea

Desliza para comenzar a programar

Estás trabajando con un sistema sencillo de gestión de usuarios. Tu objetivo es implementar una función add_user() que agregue nuevos usuarios o actualice los existentes en una lista global llamada users_db.

La users_db es una lista de diccionarios. Cada diccionario representa un usuario y tiene la siguiente estructura:

users_db = [
    {"name": "Alice", "age": 28, "role": "admin", "status": "active"}
]
  1. Definir una función add_user(name, age, role="user", status="active").
  2. Comprobar si el usuario existe: Recorrer los diccionarios en users_db. Verificar si la clave "name" en algún diccionario coincide con el argumento name pasado a la función.
  3. Si el usuario existe: * Actualizar su diccionario existente con los nuevos valores de age, role y status.
  • Devolver la cadena: "User {name} updated successfully!".
  1. Si el usuario no existe (el ciclo termina sin encontrar coincidencias):
  • Crear un nuevo diccionario que represente al usuario con los valores proporcionados de name, age, role y status.
  • Añadir este nuevo diccionario a users_db.
  • Devolver la cadena: "User {name} added successfully!".

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 4
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

some-alt