В документации в основном говорится, что range
должен вести себя точно так же, как и эта реализация (для положительного step
):
def range(start, stop, step):
x = start
while True:
if x >= stop: return
yield x
x += step
В нем также говорится, что его аргументы должны быть целыми числами. Почему это? Разве это определение не является вполне допустимым, если шаг - это float?
В моем случае, я предпочитаю. нуждающаяся в функции range
, которая принимает тип float как аргумент step
. Есть ли в Python или мне нужно реализовать свои собственные?
Более конкретно: как бы я перевел этот код C прямо на Python красивым способом (т.е. не просто выполнить его с помощью while
-loop вручную):
for(float x = 0; x < 10; x += 0.5f) { /* ... */ }