Existe-t-il un moyen de passer de 0 à 1 de 0,1?
Je pensais que je pouvais le faire comme suit, mais cela a échoué:
for i in range(0, 1, 0.1):
print i
Au lieu de cela, il dit que l'argument step ne peut pas être nul, ce à quoi je ne m'attendais pas.
itertools.takewhileet itertools.count. Ce n'est pas mieux que pour les drangeperformances.
seqoutil dans GNU coreutils permet de se passer des seq 0 0.1 1erreurs d'arrondi!
sequtilise le long doubletype C en interne et est sujet aux erreurs d'arrondi. Par exemple sur ma machine, seq 0 0.1 1donne 1comme dernière sortie (comme prévu), mais seq 1 0.1 2donne 1.9comme dernière sortie (plutôt que prévu 2).
itertools.takewhile(lambda x: (x+0.05)<1, itertools.count(0,0.1))ou itertools.islice(itertools.count(0,0.1), 10)(après vous l'avez import itertools), bien que je n'ai pas testé ce qui est plus efficace