2011-07-28 7 views
7

どのようにして、0から1までの小数点以下の範囲をPythonで定義しますか? PythonのRange()関数はint値のみを返します。私のコードには、0から1までの数の変数があります。コードにどのように記述すればよいのですか?混乱します。ありがとうございます0から1の間のランダムな10進数の範囲を作成する方法

私は私の質問にさらに追加します。 10進数値を生成するステップまたはインクリメント値はありません。私は0から1の値を持つことができる変数を使用する必要があります。それは任意の値にすることができます。しかし、プログラムは境界が0から1の範囲であることを知っていなければなりません。あなた

http://docs.python.org/library/random.html

+1

より具体的にする必要があります。 0〜1は、0〜無限大の間にあります。どのような手順ですか? – Jacob

+0

ありがとうございますが、ステップはありません。 0と1の間の任意の値にすることができます。0と1の間の値を持つ変数にするだけです。 – zingy

+2

@eryksunはいランダムな範囲が必要です。私は単語をランダムにするべきだった。 – zingy

答えて

9

あなたは0と1の間のランダムな番号のリストを探している場合は、私はあなたがrandomモジュールの良い使用を持っているかもしれないと思う

>>> import random 
>>> [random.random() for _ in range(0, 10)] 
[0.9445162222544106, 0.17063032908425135, 0.20110591438189673, 
0.8392299590767177, 0.2841838551284578, 0.48562600723583027, 
0.15468445000916797, 0.4314435745393854, 0.11913358976315869, 
0.6793348370697525] 
+0

これはうまくいくでしょう。ありがとう – zingy

0

ありがとうここはかなり有用であろう、リストの内包表記のように思えます。

mylist = [x/n for x in range(n)] 

これは何か?私のPythonは錆びています。

+0

これはうまくいくと思います。ありがとうございます – zingy

+1

0のリストが必要な場合は、はい、それは完全に動作します。整数部ftl! – geoffspear

+0

私は最近のPythonのバージョンでは、これは実際にうまく動作すると思います。 // bを使って整数除算を行う必要はありませんか?これを確認してください、ウーーブル。 – Patrick87

5
for i in range(100): 
    i /= 100.0 
    print i 

さらに、decimalを参照してください。

1
def float_range(start, end, increment): 
    int_start = int(start/increment) 
    int_end = int(end/increment) 
    for i in range(int_start, int_end): 
     yield i * increment 
+0

ありがとうございますが、特定の増分はありません。それは0と1の間の単なる値です。 – zingy

0
>>> from decimal import Decimal 
>>> [Decimal(x)/10 for x in xrange(11)] 
[Decimal("0"), Decimal("0.1"), Decimal("0.2"), Decimal("0.3"), Decimal("0.4"), Decimal("0.5"), Decimal("0.6"), Decimal("0.7"), Decimal("0.8"), Decimal("0.9"), Decimal("1")] 

マークランダムの答えにコメント与え編集、:あなたは本当にスムーズにインクリメント範囲をしたくない場合は

をではなく、0と1の間の乱数、random.random()を使用しています。

+0

@ Wooble hhmm random.random()は完璧に動作します。ありがとう – zingy

0

ステップサイズで1から0間のこの意志の出力の10進数0.1

import numpy as np 
mylist = np.arange(0, 1, 0.1) 
+0

便利な機能!しかし、私はopが質問を変更してエントリーがランダムである必要があるのに対して、arangeは順序付きシリーズを作ると指定したと思う。 – navicore

関連する問題