**New course!**Every coder should learn

**Generative AI!**

+ 2

# float range

range(1.5, 10.5) does not work. So, how do I get all float values in the range(1.5, 10.5, 0.1)? any suggestions? ａｂｈｉｎａｖ Sω(ᗒ✧ᕙ☞Aᕗ✧ᗕ)ti Jan Markus Tibor Santa ▬▬▬ Rik Wittkopp Calvin T

10 Answers

+ 9

Harsha S
Python range can only generate a set of integer numbers from a given band. Neither does it allow a float type parameter nor it can produce a float range of numbers.
You can use arange function from NumPy library
https://www.techbeamers.com/python-float-range/

+ 7

Harsha S
You can't get float value of a range because a range creates a number of iterations.
How can you get half an iteration?
You could assign a float to your code with each iteration
IE:
lst = []
for i in range(5):
lst.append(float(input())

+ 5

For numbers with only one dezimal, create a range from 15 to 105 by step 1. Then divide every number by 10.

+ 3

Harsha S we are programmers
def frange(a, b, c):
while a < b:
yield a
a += c
for i in frange(0.1, 10.5, 0.1):
print(i)

+ 2

♤♢☞ 𝐊𝐢𝐢𝐛𝐨 𝐆𝐡𝐚𝐲𝐚𝐥 ☜♢♤
Nice!

+ 1

Thank you all

+ 1

Rik Wittkopp what is half an iteration?
range(a, b, c) simply means (a, a+b, a+2b, ... upto a+nb < c ). It is a limitation of the range function that it supports only integer values and I believe it's due to floating point approximation.

+ 1

ａｂｈｉｎａｖ superb 👏 👏

+ 1

ａｂｈｉｎａｖ
a small change:
def frange(a,b,c):
while a<b:
yield float("%.1f"%a)
a += c
print(list(frange(1.5, 10.5, 0.1)))

- 4

Hello