Python Script

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.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hallo Draco!
Draco2010 hat geschrieben:eine leere Liste erstellen

Code: Alles auswählen

liste = []
Draco2010 hat geschrieben:Zahlen durch INPUT abfragen, und diese in Liste anhängen.

Code: Alles auswählen

eingabe = str_input("Bitte geben Sie eine Zahl ein: ")
eingegebene_zahl = int(eingabe)
liste.append(eingegebene_zahl)
print repr(liste)
Aber vielleicht meinst du mit Liste keine in Python übliche Liste, sondern eine Textdatei mit Daten in Zeilen? Das Programm könnte (etwas vereinfacht) so aussehen:

Code: Alles auswählen

while True:
    eingabe = raw_input(u"Bitte geben Sie etwas ein: ")
    if not eingabe: 
        break
    datei = file("/home/gerold/Desktop/dateiname.txt", "a")
    datei.write(eingabe + "\n")
    datei.close()
Das Problem ist nur, dass ich leider nicht verstanden habe, was du wirklich willst. Ich müsste mir vielleicht alle Beiträge nochmal genauer durchlesen... ;-)

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

@Gerold: Tja, das bringt Dich dann zu dem Punkt, an dem das ganze irgend wie obskur mit einer Tabellenkalkulation in Verbindung gebracht wird. Und genau an diesem Punkt "verzeifeln" wir hier bisher, da der OP das nicht präzise darstellen will.
Draco2010
User
Beiträge: 40
Registriert: Dienstag 18. August 2009, 06:28

def max_ind_min_list1_erstellen():
max=[]
min=[]
def eingabe_von_min_und_max_durch_Input():
maxi=input ("Bitte das Maximum eingeben :")
mini=input ("Bitte das Minimum eingeben :")
max.append(maxi)
min.append(mini)

# Weitere ausführung in Worten
# 1.Gebe das "max" der letzten zehn Zahlen aus.
# 2.Gebe das "min" der letzten zehn Zahlen aus.

Es tut mir leid, und ich möchte nicht unhöflich klingen, aber ich verstehe nicht, was daran nicht zu verstehen ist!

Das Programm soll mir keine Tabellenkalkulation erstellen, und auch keine ansammlung von Zahlen aufzeigen.
Sondern es soll "nur Zahlen abfragen" einmal das Minimum und das Maximum.
Diese zwei Zahlen, was durch den User eingegeben wurden, sollen in der Liste eingetragen/angehangen werden.

"Gerold" hat schon den richtigen Ansatz gemacht, leider funktioniert es nicht.

Habe auch schon versucht mit append Zahlen anzuhängen, leider lässt sich nur ene Zahl anhängen.

Schöne Grüsse
Draco
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Draco2010 hat geschrieben: Es tut mir leid, und ich möchte nicht unhöflich klingen, aber ich verstehe nicht, was daran nicht zu verstehen ist!
Du postest unkommentierten Quellcode ohne code-Tags zu benutzen und erwartest, dass man Dir das sagt, was Du hören willst. Wieso schreibst Du nicht einfach auf, was Du willst und wo Du glaubst, dass das Problem liegt? Was soll man anhand dieses Schnipsels Dir denn nun sagen?
Das Programm soll mir keine Tabellenkalkulation erstellen, und auch keine ansammlung von Zahlen aufzeigen.
Ok. Dann hast Du uns zu Beginn des Threads aber auf eine sehr falsche Fährt getrieben... :roll:
Sondern es soll "nur Zahlen abfragen" einmal das Minimum und das Maximum.
Das ist ja leicht gemacht - Du hast es uns ja sogar gezeigt (wobei man input nur in Python3 so benutzt; in Python 2.x nutzen raw_input() stattdessen)
Diese zwei Zahlen, was durch den User eingegeben wurden, sollen in der Liste eingetragen/angehangen werden.
Was ist "die" Liste? Wo kommt die her?
"Gerold" hat schon den richtigen Ansatz gemacht, leider funktioniert es nicht.
Inwiefern? "Funktioniert nicht" sagt nivht viel aus! (Fehlermeldung, oder Beschreibung, was Du Dir anders vorstellst!)
Habe auch schon versucht mit append Zahlen anzuhängen, leider lässt sich nur ene Zahl anhängen.
Um mehrere Elemente zu einer Liste hinzuzufügen kann man entweder eine Schleife drum herum basteln oder eben extend() mit einem Mutable Sequence Typ als Argument. Steht alles in der Doku und wird auch im Tutorial behandelt!

Code: Alles auswählen

# unsere Liste
l = []

# wir packen mal ein paar Zahlen dran
l.append(1)
l.append(2)
l.append(3)

# ... *gähn*!
for value in xrange(100):
    l.append(value)

# besser
l.extend(xrange(100))
So, was genau ist denn nun noch unklar?
Benutzeravatar
str1442
User
Beiträge: 520
Registriert: Samstag 31. Mai 2008, 21:13

@Dauerbaustelle: Du kannst über die Datei direkt iterieren anstatt readlines() zu benutzen. Dein Beispiel würde ich mit dem csv Modul (wenn es sich nicht um Unicode Output handeln muss, womit csv noch nicht zurecht kommt) einlesen anstatt es manuell zu machen, obwohl es natürlich trivial möglich ist.
Antworten