2016-07-06 11 views
1

(これは私が書いた最初のスクリプトでのように)私は、Pythonに非常に新たなんだを持っていない、と私はちょうど働く何かをしようとしていじりです。Pythonの関数 'オブジェクトは属性「均一」

私は次のように書いている:

# Roll the Dice 

from random import randint 

x = randint.uniform(1, 6) 
y = randint.uniform(1, 6) 

print str(x + y) 

これは、単純に2と12の間の任意の整数を返す必要がありますが、私はそれを実行しようとすると、私は次のようなエラーメッセージが出てい:

Traceback (most recent call last): 
    File "C:/FilePath/Python Testing.py", line 5, in <module> 
    x = randint.uniform(1, 6) 
AttributeError: 'function' object has no attribute 'uniform' 

私はこれが超簡単なスクリプトだと思うし、失敗してはいけないと思うが、私はこれに新しいので、どこでトラブルシューティングを始めるべきか分からない。私はthisなので、似たような質問をしましたが、解決策は私の問題に合っていません。

私はすべてのヘルプは高く評価されPyCharm 2016年1月4日

経由でPythonの2.7.12を使用しています!

+1

これは 'randint.uniform'ではなく' random.uniform'です。あなたは '輸入random'にインポートを変更、または'ランダム輸入uniform'から、次にあなたが非修飾名を使用することができますする必要があります。 –

+0

うん...それはそのような愚かなものだった考え出し...それは浮動小数点数を返しますので、あなたは、サイコロのロールをシミュレートするために、 'uniform'したくないあまり –

+0

をお願いします。 –

答えて

2

モジュールと機能が混在しています。 randintは、ランダムなモジュールの機能であり、均一です。 randint関数だけを読み込む代わりに、モジュール全体を読み込みます。詳細については、https://docs.python.org/2/library/random.htmlを参照してください。

# Roll the Dice 

import random 

x = random.randint(1, 6) 
y = random.randint(1, 6) 

print str(x + y) 

x = random.uniform(1, 6) 
y = random.uniform(1, 6) 

print str(x + y) 
1

uniformrandintは両方ともrandomモジュールで定義されています。 *未かなり

from random import uniform 
x = uniform(1, 6) 

。メソッドがモジュールレベルの名前としてアクセス可能なモジュールレベルのグローバルRNGがあります。

関連する問題