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