El siguiente artículo muestra cómo dada una lista de enteros, podemos producir la suma de todos sus dígitos pares e impares.
Entrada : test_list = [345, 893, 1948, 34, 2346]
Salida : Suma de
dígitos impares: 36
Suma de dígitos pares: 40
Explicación : 3 + 5 + 9 + 3 + 1 + 9 + 3 + 3 = 36, suma impar.
Entrada : test_list = [345, 893]
Salida :
Suma de dígitos impares: 20
Suma de dígitos pares: 12
Explicación : 4 + 8 = 12, suma par.
Método 1: Usar loop, str() e int()
En esto, primero convertimos cada elemento en una string y luego iteramos para cada uno de sus elementos, y agregamos a la suma respectiva mediante la conversión a entero.
Python3
# initializing list test_list = [345, 893, 1948, 34, 2346] # printing original list print("The original list is : " + str(test_list)) odd_sum = 0 even_sum = 0 for sub in test_list: for ele in str(sub): # adding in particular summation according to value if int(ele) % 2 == 0: even_sum += int(ele) else: odd_sum += int(ele) # printing result print("Odd digit sum : " + str(odd_sum)) print("Even digit sum : " + str(even_sum))
Producción:
La lista original es: [345, 893, 1948, 34, 2346]
Suma de dígitos impares: 36
Suma de dígitos pares: 40
Método 2: Usar loop y sum()
En esto, realizamos la tarea de obtener la suma usando sum(), y loop se usa para realizar la tarea de iterar a través de cada elemento.
Python3
# initializing list test_list = [345, 893, 1948, 34, 2346] # printing original list print("The original list is : " + str(test_list)) odd_sum = 0 even_sum = 0 for sub in test_list: # sum() used to get summation of even and odd elements odd_sum += sum([int(ele) for ele in str(sub) if int(ele) % 2 == 1]) even_sum += sum([int(ele) for ele in str(sub) if int(ele) % 2 == 0]) # printing result print("Odd digit sum : " + str(odd_sum)) print("Even digit sum : " + str(even_sum))
Producción:
La lista original es: [345, 893, 1948, 34, 2346]
Suma de dígitos impares: 36
Suma de dígitos pares: 40
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA