*
*
*
*
*
def calculate_average(numbers):
try:
if len(numbers) == 0:
raise ValueError("La lista está vacía")
return sum(numbers) / len(numbers)
except TypeError:
raise TypeError("La lista contiene elementos no numéricos")
¡Te damos la bienvenida a este reto!
Empezando con Python desde 0
Día 1
Variables, funciones y sintaxis básica
Tipos de datos: Numbers, Strings y Diccionarios
Playground - Retorna el tipo
Día 2
Operadores
Playground - Calcula la propina
Día 3
Condicionales
Playground - Averigua si un año es bisiesto
Ciclos
Playground - Dibuja un triangulo usando bucles
Día 4
Listas
Encuentra a los gatitos más famosos
Diccionarios
Obtén el promedio de los estudiantes
Tuplas
Obten la información de los paquetes
Día 5
Calcula la cantidad de letras en una oración
Encuentra el mayor palíndromo
Día 6
Sets
Encuentre la intersección de conjuntos
Día 7
List comprehension
Encuentra palabras con dos vocales
Dictionary Comprehension
Calcula la longitud de las palabras
Día 8
Funciones Lambda
Filtra mensajes de un user específico
Higher order functions
Crea tu propio método map
Día 9
Manejo de Errores y excepciones
Maneja correctamente los errores
Maneja las excepciones
Día 10
Playground - Crea un task manager usando closures
Día 11
Lectura de archivos de texto y CSV
Día 12
Programación orientada a objetos
Crea un auto usando clases
Día 13
Abstracción en Python
Playground - Crea un sistema de carrito de compras
Encapsulamiento en Python
Playground - Encapsula datos de los usuarios
Día 14
Herencia en Python
Playground - Jerarquía de animales usando herencia
Día 15
Polimorfismo en Python
Playground - Implementa un sistema de pagos
Día 16
Estructuras de datos en Python
Playground - Crea tu propia lista en python
Hash tables en Python
Playground - Implementación de una HashTable para Contactos
Día 17
Maps en Python
Playground - Crea un task manager con Maps
Día 18
Singly Linked List en Python
Playground - Implementación de una singly linked list
Día 19
Stacks en Python
Playground - Implementación de un stack
Día 20
Queues en Python
Playground - Implementación de una queue
Día 21
¡Lo lograste!
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
LeoCode0
Aportes 35
Preguntas 0
*
*
*
*
*
def calculate_average(numbers):
try:
if len(numbers) == 0:
raise ValueError("La lista está vacía")
return sum(numbers) / len(numbers)
except TypeError:
raise TypeError("La lista contiene elementos no numéricos")
.
.
.
.
.
.
.
.
def calculate_average(numbers):
try:
result = sum(numbers) / len(numbers)
except ZeroDivisionError:
raise ValueError("La lista está vacía")
except TypeError:
raise TypeError("La lista contiene elementos no numéricos")
else:
return result
def calculate_average(numbers):
# Tu código aquí 👈
try:
suma = 0
if len(numbers) == 0:
raise ValueError("La lista está vacía")
for numero in numbers:
suma += numero
return suma/len(numbers)
except ZeroDivisionError:
return "La lista está vacía"
except TypeError:
raise TypeError("La lista contiene elementos no numéricos")
Mi solución al reto:
def calculate_average(numbers):
if not numbers or len(numbers) <= 0:
raise ValueError("La lista está vacía")
average = 0
for n in numbers:
if not isinstance(n, (int, float)):
raise TypeError("La lista contiene elementos no numéricos")
average += n
return round(average / len(numbers), 2)
from functools import reduce
def calculate_average(numbers):
if (len(numbers)==0):
raise ValueError("La lista está vacía")
try:
#return (list(lambda x,y: x + y, numbers)/len(numbers))
return (reduce(lambda x,y: x+y,numbers)/len(numbers))
except TypeError:
raise TypeError("La lista contiene elementos no numéricos")
if __name__ == '__main__':
response = calculate_average([1, 2, 3, 4, 5])
print(response) #Output: 3.0
response = calculate_average([10, 20, 30, 40, 50])
print(response) #Output: 30.0
response = calculate_average([1, 2, '3', 4, 5])
print(response) #TypeError: La lista contiene elementos no numéricos
response = calculate_average([])
print(response) #ValueError: La lista está vacía
mi resultado:
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
def calculate_average(numbers):
# Tu código aquí 👈
if len(numbers) == 0:
raise ValueError('La lista está vacía')
try:
return sum(numbers) / len(numbers)
except TypeError:
raise TypeError('La lista contiene elementos no numéricos')
pass
def calculate_average(numbers):
if len(numbers) == 0:
raise ValueError("La lista está vacía")
total = 0
for num in numbers:
if not isinstance(num, (int, float)):
raise TypeError("La lista contiene elementos no numéricos")
total += num
return total / len(numbers)
response = calculate_average([])
print(response)```
My solution
.
.
.
.
.
…
.
.
.
.
.
…
.
.
.
def calculate_average(numbers):
if len(numbers) == 0:
raise ValueError("La lista está vacía")
for i in numbers:
if type(i) == str or type(i) == bool:
raise TypeError("La lista contiene elementos no numéricos")
else:
return sum(numbers)/len(numbers)
.
.
.
.
.
.
.
.
.
.
Mi solución:
def calculate_average(numbers):
if not numbers:
raise ValueError("La lista está vacía")
total = 0
count = 0
for num in numbers:
if not isinstance(num, (int, float)):
raise TypeError("La lista contiene elementos no numéricos")
total += num
count += 1
return total / count
def calculate_average(numbers):
"""Function to calculate the average"""
# average = map(lambda num: num, numbers)
try:
if len(numbers) == 0:
raise ValueError("La lista está vacía")
return sum(num for num in numbers) / len(numbers)
except TypeError:
raise TypeError("La lista contiene elementos no numéricos")
response = calculate_average([1, 2, 3, 4, 5])
print(response)
.
.
.
.
.
.
.
.
Listo!!!
Opcion = int(input(“Elija una lista(1,2,3 y 4):”))
if Opcion == 1: Lista = [1, 2, 3, 4, 5]
if Opcion == 2: Lista = [10, 20, 30, 40, 50]
if Opcion == 3: Lista = []
if Opcion == 4: Lista = [1, 2, ‘3’, 4, 5]
def CalculoP(Lista):
try:
Promedio = sum(Lista)/len(Lista)
print(f"El promedio es :{Promedio}")
except ZeroDivisionError:
print(“La lista esta vacía”)
except TypeError:
print(“Hay un String en la Lista”)
CalculoP(Lista)
Solución 😄.
.
.
.
.
.
def calculate_average(numbers):
try:
return sum(numbers)/len(numbers)
except TypeError:
raise TypeError(
"La lista contiene elementos no numéricos")
except ZeroDivisionError:
raise ValueError("La lista está vacía")
Me costó entender que en mi línea 4 y 5 no necesariamente ambos errores tienen que ser ZeroDivisionError o ValueError.
def calculate_average(numbers):
try:
return sum(numbers)/len(numbers)
except ZeroDivisionError:
raise ValueError('La lista está vacía')
except TypeError:
raise TypeError("La lista contiene elementos no numéricos")
Por un buen rato estaba usando condicionales, uno para ver si la lista no tenia elementos y otro para ver si la lista contenia algun elemento no numerico, hasta que me di cuenta que no era necesario ya que las Built-in Exceptions ya consideran esos casos y es solo cuestion de usarlas.
def calculate_average(nums):
try:
return sum(nums)/len(nums)
except ZeroDivisionError:
raise ValueError('La lista está vacía')
except TypeError:
raise TypeError('La lista contiene elementos no numéricos')
EN mi solucion me vi en encesidad de usar una condicion XOR, rar vez me toca usarla, comparto mi solucion:
.
.
def calculate_average(numbers):
if len(numbers) == 0:
raise ValueError('La lista está vacía')
validarTipo = list(filter(lambda x: not (isinstance(x, int) ^isinstance(x, float)), numbers))
if len(validarTipo) > 0:
raise TypeError("La lista contiene elementos no numéricos")
return sum(numbers) / len(numbers)
.
.
.
.
.
.
.
.
.
def calculate_average(numbers):
try:
avg = sum(numbers) / len(numbers)
except ZeroDivisionError:
raise ValueError('La lista está vacía')
except TypeError:
raise TypeError('La lista contiene elementos no numéricos')
return avg
Aquí mi aporte, al parecer está bien o por lo menos pasó las pruebas jijiji
Mi solución
def calculate_average(numbers):
if(len(numbers)==0):
raise ValueError("La lista está vacía")
try:
average = sum(numbers)/len(numbers)
except TypeError:
raise TypeError("La lista contiene elementos no numéricos")
else:
return average
Dejo por acá mi solución.
def calculate_average(numbers):
try:
if len(numbers) == 0:
raise ValueError('La lista está vacía')
return sum(numbers)/len(numbers)
except TypeError:
raise TypeError('La lista contiene elementos no numéricos')
pass
.
.
Listo! 🐍👌🏼
.
.
.
.
.
.
def calculate_average(numbers):
#clausula raise para el caso de que la lista esté vacía
if numbers == []:
raise ValueError("La lista está vacía")
#bloque try-except para manejar el caso de que la lista lance exceptión al querer sumar un valor no numérico
try:
return sum(numbers)/len(numbers)
except TypeError:
raise TypeError("La lista contiene elementos no numéricos")
.
.
.
.
.
.
.
.
.
.
.
.
.
.
def calculate_average(numbers):
if len(numbers) == 0:
raise ValueError("La lista está vacía")
for item in numbers:
if not isinstance(item, (int, float)):
raise TypeError("La lista contiene elementos no numéricos")
avg = sum(numbers) / len(numbers)
return avg
Aqui mi solucion:
.
.
.
.
.
.
.
.
def calculate_average(numbers):
# Tu código aquí 👈
if len(set(map(type, numbers))) == 1:
return sum(numbers) / len(numbers)
if len(numbers) == 0:
raise ValueError('La lista está vacía')
else:
raise TypeError('La lista contiene elementos no numéricos')
o
o
o
o
o
o
o
o
def calculate_average(numbers):
try:
if len(numbers) < 1:
raise ValueError
if not all(isinstance(item, (int,float)) for item in numbers):
raise TypeError
except ValueError:
return "La lista está vacía"
except TypeError:
return "La lista contiene elementos no numéricos"
else:
return sum(numbers) / len(numbers)
Mi solucion:
*
*
*
*
*
**
*
*
*
*
*
**
def calculate_average(numbers):
# Tu código aquí 👈
if numbers == []:
raise ValueError("La lista está vacía")
try:
return sum(numbers)/len(numbers)
except TypeError:
raise TypeError("La lista contiene elementos no numéricos")
.
.
.
.
.
.
.
.
.
.
def calculate_average(numbers):
if len(numbers) == 0:
raise ValueError('La lista está vacía')
has_numbers = True
for element in numbers:
if (type(element) != int and type(element) != float):
has_numbers = False
break
if not has_numbers:
raise TypeError('La lista contiene elementos no numéricos')
return round(sum(numbers) / len(numbers),2)
def calculate_average(numbers):
# Tu código aquí
from functools import reduce
if len(numbers) == 0:
raise ValueError("La lista está vacía")
if any(not isinstance(number, (int, float)) for number in numbers):
raise TypeError("La lista contiene elementos no numéricos")
output = reduce(lambda x,y: x+y, numbers) / len(numbers)
return output
pass
.
.
def calculate_average(numbers):
if not numbers:
raise ValueError("La lista está vacía")
for num in numbers:
if type(num) != int and type(num) != float:
raise TypeError("La lista contiene elementos no numéricos")
total = sum(numbers)
average = total / len(numbers)
return round(average, 1)
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?