random-modul

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.
S100O
User
Beiträge: 11
Registriert: Dienstag 15. Mai 2012, 14:00

Im Grunde würde ich gerne weiterhin meine Programme mit TextEdit schreiben und wie ich es bis jetzt gewohnt bin weitermachen. Mit dem neuen Python muss ich extra das Python öffnen dann IDLE nutzen darin das Programm schreiben (ich finde es wird nicht gerade gut dargestellt) abspeichern Python öffnen und dann darüber das Programm "ausprobieren" ob es auch funktioniert.

Jetzt schreib ich einfach mein Programm im TextEdit Speicher es ab öffne den Terminal ruf die Datei auf und seh sofort ob es so will wie ich es mir gedacht habe. Für mich ist das hier komfortabler bloß HIER habe ich leider keine random Funktion. Ich möchte gerne hier eine Random Funktion und nicht im neuen Python...
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

Ein Anfang wäre es durchzulesen und verstehen was Leute dir alles an relevanten Antworten hinschreiben anstatt herumzumeckern wie schlimm das alles für dich doch ist.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Ganz ehrlich: Du hast im Moment noch keinen Plan von den am Programmieren beteiligten Komponenten, deren Aufgaben und den Zusammenhängen.

Du musst weder Idle benutzen, noch wirst Du (vermutlich) in Deinem Texteditor zu Python 2.x gezwungen sein. Man wird das sicherlich so konfigurieren können, dass der Editor zum Starten eine x-beliebige Version benutzt.

Ich habe Dir ja auch nur gesagt, dass Du *ein* Python brauchst. Wenn bereits eines auf Deinem System installiert war / ist, dann musst Du ja auch nichts neues installieren.

Wie Leonidas schon schrieb, kann es sein, dass Du Dein Python-Programm einfach `random.py` genannt hast - damit überschreibst Du das integrierte `random`-Modul und der Import schlägt fehl.

webspider wies Dich auch schon zu Recht darauf hin, dass Du uns hier *Fehlermeldungen* posten musst. Wir können hier nicht hellsehen...
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
S100O
User
Beiträge: 11
Registriert: Dienstag 15. Mai 2012, 14:00

Okay.

Ich installier mal Python neu. Weil wie ihr schon gesagt habt. Wenn ich Python schon drauf hab (sei es das alte oder neue) müsste doch auch theoretisch das random Modul dabei sein richtig? Da es aber das momentan nicht ist installier Ichs neu. Vielleicht ist ja wie cofi schon geschrieben hat, einfach was kaputt. Ich meld mich wenn ich fertig bin mit dem neuinstallieren. :)
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Er hat ganz zu Anfang schon geschrieben, dass er die Datei wie das Modul benannt hat und einen Fehler beim Importieren bekommt. Für ich ist der Fall daher klar... ;)

@Threadersteller: Benenne deine `random.py` um, dann sollte der Fehler verschwunden sein. Was momentan passiert, ist nämlich, dass Python deine eigene Datei importiert und die hat natürlich nicht die gewünschte Funktion implementiert.
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Da wird nix kaputt sein. Du musst Python nicht neuinstallieren. Die meisten Helfer haben nur nicht aufmerksam genug gelesen bzw einen typischen Anfängerfehler nicht bedacht. ;)

Der Fehler sieht übrigens genau genommen so aus:

Code: Alles auswählen

$ echo "\
import random

print random.random()" > random.py
seblin@murx:~/py$ python random.py
Traceback (most recent call last):
  File "random.py", line 1, in <module>
    import random
  File "/home/seblin/py/random.py", line 3, in <module>
    print random.random()
TypeError: 'module' object is not callable
Zuletzt geändert von snafu am Mittwoch 16. Mai 2012, 14:27, insgesamt 1-mal geändert.
S100O
User
Beiträge: 11
Registriert: Dienstag 15. Mai 2012, 14:00

Oh. Jetzt funktioniert es. :D

Dankeschön :)
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

@snafu: Ich hatte das so verstanden, dass der OP das `random`-Modul einfach in einen Texteditor kopiert und dann lokal als `random.py` gespeichert hat. *Zusätzlich* hat er dann noch sein eigenes Script, welches *irgend wie* heißt... aber ok, vielleicht habe ich das auch mangels Präzision falsch interpretiert.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Hyperion hat geschrieben:Ich hatte das so verstanden, dass der OP das `random`-Modul einfach in einen Texteditor kopiert und dann lokal als `random.py` gespeichert hat. *Zusätzlich* hat er dann noch sein eigenes Script, welches *irgend wie* heißt... aber ok, vielleicht habe ich das auch mangels Präzision falsch interpretiert.
Ja, so kann man es auch interpretieren, aber jetzt kommt Occams Razor :)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten