Existe uma maneira de alternar entre 0 e 1 por 0,1?
Eu pensei que poderia fazê-lo da seguinte forma, mas falhou:
for i in range(0, 1, 0.1):
print i
Em vez disso, diz que o argumento step não pode ser zero, o que eu não esperava.
itertools.takewhilee itertools.count. drangePorém, não é melhor do que o desempenho.
seqferramenta GNU coreutils permite fazer seq 0 0.1 1sem erros de arredondamento!
sequsa o long doubletipo C internamente e está sujeito a erros de arredondamento. Por exemplo, na minha máquina, seq 0 0.1 1fornece 1como última saída (conforme o esperado), mas seq 1 0.1 2fornece 1.9como a última saída (ao invés do esperado 2).
itertools.takewhile(lambda x: (x+0.05)<1, itertools.count(0,0.1))ou itertools.islice(itertools.count(0,0.1), 10)(depois de ter import itertools), embora eu não tenha testado que é mais eficiente