Programa de Python para encontrar la suma de todos los dígitos pares e impares de una lista de enteros

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *