ImportError: cannot import name Random

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

Freitag 17. September 2004, 11:54

So halli hallo :>
lerne gerad python in der schule und bin daher noch neuling.
habe versucht ein kleines programm zu schreiben, das als
zahlengenerator fungiert , wobei man natürlich die zahl finden muss :>
mein versuch:

Code: Alles auswählen

import string, random
from random import randint

def zufall():
	print "Finden Sie die Zahl zwischen 1 und 100"
	nummer = randint(1,100)
	nummer = str(nummer)
	eingabe = raw_input()
	if eingabe > number:
		print "Deine Zahl ist zu gross"
	if eingabe < number:
		print "Deine Zahl ist zu klein"
	if eingabe == number:
		print "Richtig"	

zufall()
wenn ich das programm starte kommt allerdings die fehlermeldung
aus dem titel: ImportError: cannot import name Random
wäre über nen tip sehr erfreut :>
mfg prosta
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Freitag 17. September 2004, 12:11

beim laden der modulen entweder

Code: Alles auswählen

import random

random.randint(blabla)
oder

Code: Alles auswählen

from random import randint

randint(blabla)
sonst importierst du ja 2 Mal

gruss
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Freitag 17. September 2004, 12:36

Hi prosta,

die erste zeile import string, random kannst gleich weglassen.

Könntest Du die ganze Fehlerausgabe mal hier posten, hast du auch auf Groß/Kleinscheibung geachtet, ein Modul Random gibts wirklich nicht, aber dafür ein Modul random.

Im Script würde ich dann die Eingabe in einen Integer umwandeln statt der Nummer in einen String und bei fehlerhafter Eingabe das ganze nochmal eingeben lassen, auch die Abfrage ob die Zahl stimmt hab ich etwas optimiert:

Code: Alles auswählen

from random import randint

def zufall():
    print "Finden Sie die Zahl zwischen 1 und 100"
    nummer = randint(1,100)

    while 1: #Endlosschleife
        eingabe = raw_input()
        try: # versuche Eingabe in Integer zu wandeln
            eingabe = int(eingabe)
        except:
            print "Fehlerhafte Eingabe %s ist keine Zahl!" % eingabe
            continue # nochmal eingeben lassen
        break # alles ok, Zahl wurde eingegeben. Schleife beenden

    if eingabe > number:
        print "Deine Zahl ist zu gross"
    elif eingabe < number:
        print "Deine Zahl ist zu klein"
    else:
        print "Richtig"   


zufall() 
Gruß

Dookie
[code]#!/usr/bin/env python
import this[/code]
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

Freitag 17. September 2004, 12:39

also erstmal danke für eure beiträge. dookie ich wollte gerad die
gesamte fehlermeldung zeigen, denn dein programm geht bei
mir auch nicht.
C:\test>zufall.py
Traceback (most recent call last):
File "C:\test\zufall.py", line 1, in ?
from random import randint
File "C:\Python23\lib\random.py", line 2, in ?

File "C:\Python23\lib\cgi.py", line 40, in ?
import mimetools
File "C:\Python23\lib\mimetools.py", line 6, in ?
import tempfile
File "C:\Python23\lib\tempfile.py", line 33, in ?
from random import Random as _Random
ImportError: cannot import name Random

hmm liegt wohl an den zu includierten dateien aber sonst keine ahnung :>
diese fehler kamen bei meiner sowie bei deiner version
oenone
User
Beiträge: 75
Registriert: Mittwoch 27. August 2003, 14:39
Wohnort: 49°17'28N, 8°15'57E
Kontaktdaten:

Freitag 17. September 2004, 12:43

oder:

Code: Alles auswählen

import random
randint = random.randint

randint(foo,bar)
aber das sollte nicht die ursache fuer die fehlermeldung sein..

@pr0stAta: du hast nicht zufaellig dein programm "random.py" genannt, oder so aehnlich ?
wenn ja, dann benenn sie um.. python guckt als erstes im aktuellen verzeichnis (ausser du hast sys.path manipuliert).

auf bald
oenone

[edit] bah.. war mal wieder viel zu langsam..
if you don't remember something, it never happened.
if you aren't remembered, you never existed.
i don't quite understand what love is like... but if there was someone who liked me, i'd be happy.
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

Freitag 17. September 2004, 12:48

arg ok ich hab den fehler dank dir oenone :>
ich hatte die datei zuerst random.py genannt, dann aber umbenannt, doch war noch eine temp datei davon im ordner die random hieß...
nun geht es :> danke für den tip
mfg prosta
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

Freitag 17. September 2004, 13:02

und nochmal falls es wen interessiert mein fertiges prog
was nun auch geht :P

Code: Alles auswählen

from random import randint

def zufall():
    print "Finden Sie die Zahl zwischen 1 und 100"
    nummer = randint(1,100)
    count = 0
        
    while count != 1 :
        eingabe = raw_input()
        eingabe = int(eingabe)
        if eingabe > nummer:
            print "Deine Zahl ist zu gross"
            count = 2
        if eingabe < nummer:
            print "Deine Zahl ist zu klein"
            count = 2
        if eingabe == nummer:
            print "Richtig" 
            count = 1

zufall()
edit by Dookie: Hab das Script in Pythontags gesetzt und die Einrückungen gefixt. Stell Deinen Editor am Besten so ein, daß er immer Leerzeichen statt Tabulatoren verwendet!
Antworten