Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Argumentos Posicionales Arbitrarios | Argumentos Arbitrarios
Quizzes & Challenges
Quizzes
Challenges
/
Tutorial de Funciones en Python

bookArgumentos Posicionales Arbitrarios

Ya conoces los argumentos posicionales y opcionales. Pero cuando una función puede recibir muchas entradas o no las conoces de antemano, puedes utilizar argumentos posicionales arbitrarios. Estos permiten que una función acepte cualquier cantidad de valores.

Note
Nota

Cada argumento puede ser cualquier estructura de datos (lista, diccionario, etc.). Los argumentos arbitrarios permiten pasar tantos objetos de este tipo como sea necesario.

Para definir argumentos posicionales arbitrarios, coloca un asterisco * antes del nombre del parámetro. Ejemplo:

12345678
# Define function with arbitrary positional arguments named values def calculate_sum(*values): return sum(values) # Test the function using different number of arguments print(calculate_sum(1, 2, 3)) print(calculate_sum(1, 2, 3, 4)) print(calculate_sum(1, 2, 3, 4, 5))
copy

Aquí, *values recopila todos los argumentos posicionales pasados en una tupla. Dentro de la función, se utiliza el nombre de la variable sin *. El resultado es correcto sin importar cuántos argumentos se proporcionen.

Note
Nota

Aunque cualquier nombre funciona, la forma común y legible es *args.

1234567891011121314
def example_function(*args): print(type(args)) print(args) for arg in args: print(arg) print("Call without arguments:") example_function() print("\nCall with one argument:") example_function(1) print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
copy

Como se muestra:

  • Sin argumentos → args es ();
  • Un argumento → (1,);
  • Varios argumentos → todos los valores aparecen en una tupla, por ejemplo, (1, 2, 3, 'hello', [4, 5, 6]).

*args se comporta como cualquier otra tupla, proporcionando flexibilidad total al manejar múltiples entradas.

Tarea

Swipe to start coding

Implementar una función calculate_total que calcule el precio total de los artículos en un carrito, aplicando descuentos según el monto total.

  1. Utilizar argumentos posicionales arbitrarios llamados prices en la función calculate_total.
  2. Si no se proporcionan argumentos, devolver "Your cart is empty.".
  3. Aplicar un descuento del 20% si el total es $200 o más.
  4. Aplicar un descuento del 10% si el total es $100 o más.

Solución

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 1
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

close

Awesome!

Completion rate improved to 4.17

bookArgumentos Posicionales Arbitrarios

Desliza para mostrar el menú

Ya conoces los argumentos posicionales y opcionales. Pero cuando una función puede recibir muchas entradas o no las conoces de antemano, puedes utilizar argumentos posicionales arbitrarios. Estos permiten que una función acepte cualquier cantidad de valores.

Note
Nota

Cada argumento puede ser cualquier estructura de datos (lista, diccionario, etc.). Los argumentos arbitrarios permiten pasar tantos objetos de este tipo como sea necesario.

Para definir argumentos posicionales arbitrarios, coloca un asterisco * antes del nombre del parámetro. Ejemplo:

12345678
# Define function with arbitrary positional arguments named values def calculate_sum(*values): return sum(values) # Test the function using different number of arguments print(calculate_sum(1, 2, 3)) print(calculate_sum(1, 2, 3, 4)) print(calculate_sum(1, 2, 3, 4, 5))
copy

Aquí, *values recopila todos los argumentos posicionales pasados en una tupla. Dentro de la función, se utiliza el nombre de la variable sin *. El resultado es correcto sin importar cuántos argumentos se proporcionen.

Note
Nota

Aunque cualquier nombre funciona, la forma común y legible es *args.

1234567891011121314
def example_function(*args): print(type(args)) print(args) for arg in args: print(arg) print("Call without arguments:") example_function() print("\nCall with one argument:") example_function(1) print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
copy

Como se muestra:

  • Sin argumentos → args es ();
  • Un argumento → (1,);
  • Varios argumentos → todos los valores aparecen en una tupla, por ejemplo, (1, 2, 3, 'hello', [4, 5, 6]).

*args se comporta como cualquier otra tupla, proporcionando flexibilidad total al manejar múltiples entradas.

Tarea

Swipe to start coding

Implementar una función calculate_total que calcule el precio total de los artículos en un carrito, aplicando descuentos según el monto total.

  1. Utilizar argumentos posicionales arbitrarios llamados prices en la función calculate_total.
  2. Si no se proporcionan argumentos, devolver "Your cart is empty.".
  3. Aplicar un descuento del 20% si el total es $200 o más.
  4. Aplicar un descuento del 10% si el total es $100 o más.

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 3. Capítulo 1
single

single

some-alt