Bonjour,
je veux créer un liste avec un pas de 0.1
par contre ça fonctionne pas, il considere que 0.1 comme un 0.Code:p=range(1,9,0.1)
je sais pas comment faire
Merci pour votre aide
Version imprimable
Bonjour,
je veux créer un liste avec un pas de 0.1
par contre ça fonctionne pas, il considere que 0.1 comme un 0.Code:p=range(1,9,0.1)
je sais pas comment faire
Merci pour votre aide
Tu peux faire la fonction toi même :)
Seulement ça manquera un peu de précision avec les float, il faudrait utiliser le module decimal.
Voilà ma solution
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 from decimal import Decimal def range_f(mini, maxi, pas): assert mini <= maxi if mini == maxi: return [mini] elif pas > (maxi-mini): raise ValueError("bad value of parameter pas --> {}".format(pas)) mini, maxi, pas = Decimal(str(mini)), Decimal(str(maxi)), Decimal(str(pas)) zero = Decimal("0.0") if mini % pas != zero or maxi % pas != zero: raise ValueError("incompatible pas with values mini or/and maxi") liste = [float(mini.to_eng_string())] while mini < maxi: mini += pas liste.append(float(mini.to_eng_string())) return liste
ou alors numpy possède la fonction arange qui fait ce que tu veux:Code:p = [x/10.0 for x in range(10,90,1)] # ou 91 au lieu de 90, si 9.0 doit être inclus
Code:
1
2 import numpy as np np.arange(1,9,0.1)