To solve TypeRrror: ‘float’ object is not iterable exception in Python, convert the floating-point number into a string. To handle the TypeError, you can also use the try-except statement. The try-except statement built-in exception handler can handle exceptions whenever it is thrown.
TypeError: ‘float’ object is not iterable in Python
The TypeError: ‘float’ object is not iterable raises when we iterate over the floating object. We can iterate through strings, lists, tuples, and dictionaries. Other than these data types, we cannot iterate over them. If we iterate over the floating object, a TypeError exception is thrown.
lst = [1.5, 2.5, 3.5, 4.5, 5.5] for i in lst: print(i, end=" ")
1.5 2.5 3.5 4.5 5.5
In this example, we defined a list, and then it is iterated over all the elements using the for loop. So the output for this program will be 1.5, 2.5, 3.5, 4.5, and 5.5.
Moving over all the elements in a list is known as the list traversal or iteration. In this example, we have seen how to traverse the floating-point objects list. Now let us see how we can traverse over a string.
str = "Hello" for i in str: print(i + "")
H e l l o
You can see from the output that we can traverse over strings. In string traversal in every iteration, each letter is printed.
Now let’s slightly modify the program and assign a floating-point number to the variable in the same program.
fp = 2.1 for i in fp: print(i + "")
TypeError: 'float' object is not iterable
We expect the program to output like 1 . 7 5, but this won’t happen; instead, it throws an error known as the “float” object, which is not iterable.
Floating numbers can not be traversed using for loop in Python. However, we can traverse the numbers to obtain the desired output.
fp = 2.1 try: for i in fp: print(i, end=" ") except TypeError: print("TypeError has occurred")
TypeError has occurred
Hence to solve this TypeError, we can convert the float number to a string, and then we can iterate over it.
fp = 2.10 temp = str(fp) for i in temp: print(i, end=" ")
2 . 1 0
The output is like 2 . 1 0. Hence we can convert the floating object into a string and iterate over the string. However, we cannot use a floating-point number in the range.
for i in range(2.1): print(i, end=" ")
TypeError: 'float' object cannot be interpreted as an integer
This code throughs a TypeError: ‘float’ object is not iterable. To solve this error, use the int() method.
for i in range(int(5.0)): print(i, end=" ")
0 1 2 3 4
This code will get executed, and the output will be displayed as 0 1 2 3 4. Hence, we can convert a float number to an integer to use this number in the range() method.
That’s it for this tutorial.
Krunal Lathiya is an Information Technology Engineer. By profession, he is a web developer with knowledge of multiple back-end platforms including Python. Krunal has written many programming blogs which showcases his vast knowledge in this field.