0.01から10の間でループしようとしていますが、0.01と0.1の間で0.01をステップとして使用し、0.1と1.0の間で0.1をステップとして使用し、1.0と10.0の間で1.0をステップとして使用します。forループの可変ステップ
私はwhileループコードを書いていますが、もっとpythonicしたいです。
i = 0.01
while i < 10:
# do something
print i
if i < 0.1:
i += 0.01
elif i < 1.0:
i += 0.1
else:
i += 1
これは、
0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 2, 3, 4, 5, 6, 7, 8, 9
を使用するには、関数の中で、ループの最後の命令として '降伏i'を追加することを置きます。これはジェネレータになります。 – njzk2
浮動小数点丸めの制約では、ステップごとにインクリメントすることはうまく機能しません。あなたは境界エラーを持つ可能性が高いです。 – user2357112
@ njzk2 - 'yield 'は、ループの最初の**命令でなければなりません。彼の最初の価値は '.01'である必要があります。 –