Ausgabe von gespeicherten Variablen

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
paracide
User
Beiträge: 11
Registriert: Dienstag 9. August 2011, 20:55

Guten Abend zusammen,

mit folgendem Code erzeuge ich mir eine Anzahl von Punkten:

Code: Alles auswählen

        for a in range(1,x):
            for i in range(1,x):
                index = i + y*(a-1)
                s = "Pkt" + str(index) + " = (" + str(a) + "," + str(i) + ")"
                exec(s)
        Punkt_einlesen = input("Welcher Punkt soll angezeigt werden?")
        Punktx = "Pkt" + str(Punkt_einlesen)
        print (Punktx)
        print (Pkt5)
Das Problem das sich mir nun stellt ist folgendes:
1.
Nachdem ich alle Punkte erstellt habe möchte ich nun abfragen welcher Punkt ausgegeben werden soll, das versuche ich mit die Variable "Punktx"...
Geht leider nicht...
Gebe ich jedoch im Code die Variable ein, so gibt er sie mir richtig aus (Pkt5)
Was mache ich falsch???
Benutzeravatar
/me
User
Beiträge: 3556
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

paracide hat geschrieben:Was mache ich falsch???
Wenn du versuchst Variablen durchzunummerieren machst du definitiv etwas falsch. Dafür gibt es geeignetere Datentypen wie Listen oder Dictionaries.

So wie der Code aussieht solltest du dir dringend einmal das Python-Tutorial anschauen.
paracide
User
Beiträge: 11
Registriert: Dienstag 9. August 2011, 20:55

Danke für den Link,

das Tutorial kannte ich überhaupt nicht.
Hat mir super geholfen.
Funktioniert jetzt genau wie ich es möchte...

Code: Alles auswählen

        Punktx = input("Welcher Punkt soll angezeigt werden?")
        list = [[b, c] for b in range(1,x) for c in range(1,x)]
        Punkt_ausgabe = Punktx - 1
        print
        print "Die Koordinaten des Punktes",Punktx ,"lauten:"
        print list.pop(Punkt_ausgabe)
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Hallo.

Dann solltest dur dir als nächstes noch PEP 8 durchlesen, das kennst du wahrscheinlich auch noch nicht ;-)

Viel wichtiger ist jedoch, dass du das `input` entfernst, da dieses beliebigen Code ausführt. Benutze besser `raw_input` und wandle das ergebnis explizit mit `int` in einen Integer um. Dann bekommst du auch an der richtigen Stelle eine Fehlermeldung, falls der Benutzer eine ungültige Eingabe macht, welche jedoch Python-Code entspricht. Wie zum Beispiel `4.2`.

Sebastian
Das Leben ist wie ein Tennisball.
Benutzeravatar
/me
User
Beiträge: 3556
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

paracide hat geschrieben:

Code: Alles auswählen

        list = [[b, c] for b in range(1,x) for c in range(1,x)]
Eine Anmerkung dazu: Es ist ungünstig einen Bezeichner list zu nennen, weil du damit das eingebaute list überschreibst.
Antworten