How to count the numbers with even number of digits in a list with Python

3 Answers

0 votes
import math 

def count_even_numbers(lst):
    result = 0
    size = len(lst)
    
    i = 0
    while (i < size):
        total_digits = (int)(math.log10(lst[i])) + 1
        if (total_digits % 2 == 0):
            result += 1
        i += 1

    return result
    
lst = [564, 90, 7, 1248, 47325, 834921, 1234567]

print(count_even_numbers(lst))



'''
run:

3

'''

 



answered Jul 21, 2023 by avibootz
0 votes
def count_even_numbers(lst):
    result = 0
    size = len(lst)
    
    i = 0
    while (i < size):
        if (len(str(lst[i])) % 2 == 0):
            result += 1
        i += 1

    return result
    
lst = [564, 90, 7, 1248, 47325, 834921, 1234567]

print(count_even_numbers(lst))



'''
run:

3

'''


 



answered Jul 21, 2023 by avibootz
0 votes
def count_even_numbers(lst):
    return sum(len(str(n)) %2 == 0 for n in lst)
    
lst = [564, 90, 7, 1248, 47325, 834921, 1234567]

print(count_even_numbers(lst))



'''
run:

3

'''

 



answered Jul 21, 2023 by avibootz

Related questions

...