2016-07-06 29 views
1

Ich bin sehr neu in Python (wie in diesem ist das erste Skript, das ich geschrieben habe), und ich bin nur herumalbern versuchen, etwas zu machen, das funktioniert.Python 'Funktion' Objekt hat kein Attribut 'Uniform'

ich geschrieben habe folgende:

# Roll the Dice 

from random import randint 

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

print str(x + y) 

Dies sollte einfach zurückgeben jede ganze Zahl zwischen 2 und 12, aber ich erhalte die folgende Fehlermeldung, wenn ich versuche, es zu laufen:

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' 

Ich fühle mich wie das ist ein super einfaches Skript und sollte nicht versagen, aber da ich so neu bin weiß ich nicht einmal, wo ich mit der Fehlersuche beginnen soll. Ich habe this SO Frage gefunden, die ähnlich ist, aber die Auflösung passt nicht zu meinem Problem (oder so denke ich).

ich Python 2.7.12 über PyCharm unter Verwendung 2016.01.04

Jede Hilfe dankbar!

+1

Es ist 'random.uniform', nicht' randint.uniform'. Sie müssen Ihren Import in "zufällige importieren" oder "aus zufälliger Import-Uniform" ändern und dann den unqualifizierten Namen verwenden. –

+0

yep ... dachte, dass es so etwas dummes war ... vielen Dank –

+0

Du willst nicht, dass 'uniform' Würfelwürfe simuliert, da es Floats zurückgibt. –

Antwort

2

Sie vermischen Module und Funktionen. Randint ist eine Funktion in dem Zufallsmodul, wie es einheitlich ist. Laden Sie das gesamte Modul, anstatt nur die Randint-Funktion zu laden. Weitere Informationen finden Sie unter 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

uniform und randint sind beide Funktionen * im Modul random definiert.

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

* Nicht ganz; Es gibt einen globalen RNG auf Modulebene, dessen Methoden als Namen auf Modulebene zugänglich sind.

Verwandte Themen