Search code examples
pythondivide-by-zero

'If not' to avoid zero division


My code below returns a zerodivision error when occupied_spaces is empty.

occupied_spaces = [ ]

cars = occupied_spaces.count(1)
spaces = occupied_spaces.count(0)

if not occupied_spaces:
    print('The list is empty')
    
percentage = cars/len(occupied_spaces) * 100

print(percentage, '%')

Can somebody explain why this happens?


Solution

  • Your question is not clear but let me guess. Looks like you want to check if occupied spaces is empty then print message otherwise calculate percentage. So code should be smth like that. If array is empty function len will return you 0

    occupied_spaces = [ ]
    
    if not occupied_spaces:
        print('The list is empty')
    else:
        percentage = occupied_spaces.count(1) / len(occupied_spaces) * 100
        print(percentage, '%')
    

    Looks like its python so you need to align code properly