2011-08-11 8 views
0

です。私の初心者の質問に申し訳ありません。私はサイクルのために以下の構成を使用して小数範囲ステップ構築したい:の小数点の桁数は

max_value = 10 
my_range = [r * 0.01 for r in range(0, max_value) ] 
    for i in range (my_range): //Error 
     print (i) 

をしかし、次のエラーがあります:

TypeError: 'list' object cannot be interpreted as an integer 
+0

反復処理を行うシーケンスの例を挙げてください。 –

+0

2BasicWolf:コードを更新しました... – abcdef

答えて

3

あなたmy_rangeはすでにリストです。開始(反復に含まれる)値、終了値(含まれていない)とステップ:ただの操作を行います。range()機能は3つの引数を受け入れるため

for i in my_range: 
    print(i) 
+0

あなたの答えをありがとう... – abcdef

1

エラーが表示されます。数学的観点からは、[a1, a2, ... an)ここで、d = a2 - a1はステップです。

したがって、my_range = [r * 0.01 for r in range(0, max_value) ]はリストを作成します。もちろん、range()はリストを引数として受け入れることはできません。あなたが必要な場合は[0.01、0.02、... 10]の場合

、:

step = 0.01 
max_val = 10 
for i in range(0, max_val/step + 1): 
    print i * step 
0

は試してみてください

for i in my_range: 
    print(i) 

あなたがして反復処理することができますmy_rangeリストを作成しましたfor。もう一度range()に電話する必要はありません。

range()関数は整数をパラメータとして受け取りますが、range(my_range)を実行するとこのエラーが発生します。

関連する問題