Dada una lista de números, escriba un programa Python para contar números pares e impares en una lista. Ejemplo:
Input: list1 = [2, 7, 5, 64, 14] Output: Even = 3, odd = 2 Input: list2 = [12, 14, 95, 3] Output: Even = 2, odd = 2
Ejemplo 1: cuente los números pares e impares de la lista dada usando el bucle for Itere cada elemento de la lista usando el bucle for y verifique si num % 2 == 0, la condición para verificar los números pares. Si la condición se cumple, entonces aumente el conteo par; de lo contrario, aumente el conteo impar.
Python3
# Python program to count Even # and Odd numbers in a List # list of numbers list1 = [10, 21, 4, 45, 66, 93, 1] even_count, odd_count = 0, 0 # iterating each number in list for num in list1: # checking condition if num % 2 == 0: even_count += 1 else: odd_count += 1 print("Even numbers in the list: ", even_count) print("Odd numbers in the list: ", odd_count)
Even numbers in the list: 3 Odd numbers in the list: 4
Ejemplo 2: Usando el ciclo while
Python3
# Python program to count Even and Odd numbers in a List # list of numbers list1 = [10, 21, 4, 45, 66, 93, 11] even_count, odd_count = 0, 0 num = 0 # using while loop while(num < len(list1)): # checking condition if list1[num] % 2 == 0: even_count += 1 else: odd_count += 1 # increment num num += 1 print("Even numbers in the list: ", even_count) print("Odd numbers in the list: ", odd_count)
Even numbers in the list: 3 Odd numbers in the list: 4
Ejemplo 3: uso de expresiones lambda de Python
Python3
# list of numbers list1 = [10, 21, 4, 45, 66, 93, 11] odd_count = len(list(filter(lambda x: (x%2 != 0) , list1))) # we can also do len(list1) - odd_count even_count = len(list(filter(lambda x: (x%2 == 0) , list1))) print("Even numbers in the list: ", even_count) print("Odd numbers in the list: ", odd_count)
Even numbers in the list: 3 Odd numbers in the list: 4
Ejemplo 4: uso de la comprensión de listas
Python3
# Python program to print odd Numbers in a List # list of numbers list1 = [10, 21, 4, 45, 66, 93, 11] only_odd = [num for num in list1 if num % 2 == 1] odd_count = len(only_odd) print("Even numbers in the list: ", len(list1) - odd_count) print("Odd numbers in the list: ", odd_count)
Even numbers in the list: 3 Odd numbers in the list: 4
Ejemplo 5: Uso de recursividad
Python3
# Python program to count Even # and Odd numbers in a List # using recursion even_count=0# even counter i=0#index, so that we can check if list[i] is even or odd odd_count=0#odd counter def evenoddcount(lst): # difining local counters as global variable global even_count global odd_count global i if lst[i]%2==0:#check if number is even even_count+=1 else:#if number is odd odd_count+=1 if i in range(len(lst)-1): i+=1#increment i evenoddcount(lst)#calling fonction recursively else: print("Even numbers in the list: ", even_count) print("Odd numbers in the list: ", odd_count) list1 = [10, 21, 4, 45, 66, 93, 1] evenoddcount(list1) #This code is contributed by Shivesh Kumar Dwivedi
Even numbers in the list: 3 Odd numbers in the list: 4
Ejemplo 6: uso del operador Bitwise XOR
La idea es verificar si el último bit del número está configurado o no. Si se establece el último bit, el número es impar; de lo contrario, es par. Como sabemos, la operación XOR bit a bit del número en 1 incrementa el valor del número en 1 si el número es par; de lo contrario, disminuye el valor del número en 1 si el valor es impar.
Python3
# Python program to count Even # and Odd numbers in a List # using Bitwise XOR # list of numbers list1 = [10, 21, 4, 45, 66, 93, 1] even_count, odd_count = 0, 0 for num in list1: # checking condition if num ^ 1 == num + 1: even_count += 1 else: odd_count += 1 print("Even numbers in the list: ", even_count) print("Odd numbers in the list: ", odd_count) # This code is contributed by Shivesh Kumar Dwivedi
Even numbers in the list: 3 Odd numbers in the list: 4
Ejemplo 7: Uso del operador AND
bit a bit La idea es verificar si el último bit del número está configurado o no. Si se establece el último bit, el número es impar; de lo contrario, es par.
Como sabemos, la operación AND bit a bit del número por 1 será 1, si es impar porque el último bit ya estará establecido. De lo contrario, dará 0 como salida.
Python3
# Python program to count Even # and Odd numbers in a List # using Bitwise AND # list of numbers list1 = [10, 21, 4, 45, 66, 93, 1] even_count, odd_count = 0, 0 for num in list1: # checking condition if not num & 1: even_count += 1 else: odd_count += 1 print("Even numbers in the list: ", even_count) print("Odd numbers in the list: ", odd_count) # This code is contributed by Shivesh Kumar Dwivedi
Even numbers in the list: 3 Odd numbers in the list: 4
Ejemplo 8 : uso del operador OR bit a bit
La idea es verificar si el último bit del número está configurado o no. Si se establece el último bit, el número es impar; de lo contrario, es par. Como sabemos, la operación OR bit a bit del número en 1 incrementa el valor del número en 1 si el número es par; de lo contrario, permanecerá sin cambios. Entonces, si después de la operación OR del número con 1 da un resultado que es mayor que el número, entonces es par y devolveremos verdadero; de lo contrario, es impar y devolveremos falso.
Python3
# Python program to count Even # and Odd numbers in a List # using Bitwise OR # list of numbers list1 = [10, 21, 4, 45, 66, 93, 1] even_count, odd_count = 0, 0 for num in list1: # checking condition if num | 1 > num: even_count += 1 else: odd_count += 1 print("Even numbers in the list: ", even_count) print("Odd numbers in the list: ", odd_count) # This code is contributed by Shivesh Kumar Dwivedi
Even numbers in the list: 3 Odd numbers in the list: 4