Seite 1 von 2

while-Schleife

Verfasst: Montag 14. November 2011, 14:44
von Artur
Tag liebe com

Ich muss eine Aufgabe mit Python machen aber ich verstehe nicht, was genau verlangt wird:

Erzeugen Sie mit Hilfe einer while-Schleife eine Liste mit 10 Zahlen und geben Sie
nach jeder Eingabe die Liste aus. Brechen Sie die while-Schleife ab, wenn die Liste
vollständig ist.

Versteht jemand was ich da jetzt machen soll? Muss ich eine while-Schleife machen, die 10 Werte ausgibt und
nach jedem Wert nochmal die gesamte Liste ausgibt? :K

Re: while-Schleife

Verfasst: Montag 14. November 2011, 14:48
von deets
Wenn das die wirklich Formulierung ist, dann ist sie ziemlich schlecht.

Ich wuerde das so interpretieren:

- lesen sie innerhalb einer While-Schleife eingegebene Zahlen in eine Liste ein
- geben sie den Inhalt der Liste nach jeder verarbeiteten Eingabe aus
- brechen sie die While-Schleife ab, wenn die Liste eine Laenge von 10 Elementen hat
- geben sie nochmals die gesamte Liste aus

Auch wenn der letzte Puntk ziemlich redundant ist...

HTH

Re: while-Schleife

Verfasst: Montag 14. November 2011, 14:56
von Artur
Das einzige, was wir bisher mit einer while-Schleife gemacht haben war ein kurzer Countdown, wonach ein String ausgegeben wurde. Wie erstelle ich jetzt eine Liste mithilfe einer While-Schleife und wie gebe ich sie nach jeder Eingabe neu aus? Wäre froh wenn mir jemand dabei helfen könnte.

Re: while-Schleife

Verfasst: Montag 14. November 2011, 15:06
von mutetella
Dann schau' Dir doch den Code vom Countdown einmal an und versuche, davon die Aufgabe abzuleiten...

Falls Du damit nicht weiterkommst, kannst Du ja mal Deinen Versuch hier posten...

mutetella

Re: while-Schleife

Verfasst: Montag 14. November 2011, 15:07
von BlackJack
@Artur: Dabei kann man echt nicht helfen ohne Dir die Lösung zu geben, was aber keine wirkliche Hilfe wäre. Wenn Du verstanden hast wie Listen funktionieren und was eine ``while``-Schleife macht, dann sollte das eigentlich auch kein Problem sein.

Re: while-Schleife

Verfasst: Montag 14. November 2011, 17:05
von Artur

Code: Alles auswählen

counter=0
while counter <=10:
    print counter, "\n"
    counter=counter+1
print "\nDie while-Schleife ist beendet"
Jetzt wird in der Ausgabe von 0 bis 9 gezählt aber ist das überhaupt eine "Liste" ? Ich bekomme eine Liste oder ein Tupel nicht runtergezählt. Wie gesagt, so genau haben wir Listen- und Tupelbefehle nicht bearbeitet und es ist schwer Antworten auf so spezielle Fragen im Internet zu finden. Ich weiß wirklich gar nicht was ich machen soll. Eine Lösung würde mir helfen, da ich dann mit der darauf basierenden nächsten Aufgabe fortfahren kann. Ich mache mir echt jede Vorlesung Notizen und so Sachen kamen einfach noch nicht dran.

Re: while-Schleife

Verfasst: Montag 14. November 2011, 17:11
von jbs
Für den Anfang ist es vielleicht nicht verkehrt eine Liste zu erstellen.

Re: while-Schleife

Verfasst: Montag 14. November 2011, 17:21
von Artur

Code: Alles auswählen

L=[0,1,2,3,4,5,6,7,8,9]
while L<=[9]:
    print L, "\n"
    L
print "\nDie while-Schleife ist beendet"
Ja, gut. Nun habe ich eine Liste. Die Schleife scheint im Moment kein Ende zu haben. Sie hält nicht an. Die einzelnen Elemente der Liste werden gar nicht gezählt. Wie sage ich der Schleife denn, sie soll meine Liste zählen?

Re: while-Schleife

Verfasst: Montag 14. November 2011, 17:28
von BlackJack
@Artur: In dem Quelltext mit dem Countdown ist keine Liste enthalten. Also müsstest Du lernen was eine Liste ist, und was man damit alles anstellen kann. Das steht zum Beispiel im Tutorial in der Python-Dokumentation und der Dokumentation zu dem Datentyp. Also lesen, ausprobieren, verstehen. Das musst Du schon selber tun, das kann niemand anderes für Dich erledigen.

Beschreibe doch mal in Worten 1. Was ``L<=[9]`` bedeutet, und 2. was Du eigentlich prüfen möchtest.

Wie man die Anzahl von Elementen in einer Liste ermittelt lernt man zum Beispiel im oben genannten Tutorial.

Bitte setz doch Deine Quelltexte in die entsprechenden Tags, damit ich das nicht immer machen muss. ;-)

Re: while-Schleife

Verfasst: Montag 14. November 2011, 17:39
von Artur
Sry, dass ich mich so lückenhaft ausdrücke. Ich versuche folgende Aufgabe zu lösen:

Erzeugen Sie mit Hilfe einer while-Schleife eine Liste mit 10 Zahlen und geben Sie
nach jeder Eingabe die Liste aus. Brechen Sie die while-Schleife ab, wenn die Liste
vollständig ist.
- Fügen Sie an erster Stelle der Liste den Wert 500 hinzu und geben Sie die Liste
aus.
- Geben Sie die Länge der Liste, den Min. und den Max.wert aus.
- Sortieren Sie die Listenelemente und geben Sie die Liste aus.

Da versuche ich den ersten Teil zu machen. Mit Hilfe einer while-Schleife eine Liste mit 10 Zahlen erzeugen und nach jeder Eingabe die Liste ausgeben.

Was ich weiß: Was eine Liste ist, wie man sie erstellt.
Was ich nicht weiß: Wie man eine Liste per while-Schleife erstellt, wie man so eine Schleife mit einer Liste drin schreibt, wie man sie dann ausgibt.

Welches Python tutorial meinst du? Hier im Forum? Mein Tutorial hilft mir nicht weiter :(

Re: while-Schleife

Verfasst: Montag 14. November 2011, 17:51
von jbs
Vielleicht hilft, dir ja die Doku weiter, die man per google mittels `python list`, erhält.

http://docs.python.org/tutorial/datastructures.html

Soll heißen, es gibt Methoden auf listen, die Mitunter ganz hilfreich sein können.

Re: while-Schleife

Verfasst: Montag 14. November 2011, 17:52
von BlackJack
@Artur: Dazu hatte deets ja schon etwas geschrieben, wie man den ersten Punkt besser formuliert. Eine Schleife wiederholt etwas. Du musst nicht das erstellen der Liste wiederholen, sondern nur den Benutzer wiederholt nach Werten fragen und diese dann in die Liste stecken. Ich weiss nicht wie ich Dir helfen soll ohne Dir genau zu sagen wie es aussehen muss. Das ist nämlich ganz einfach wenn man ``while``-Schleifen verstanden hat. Eine Liste kann man mit ``print`` ausgeben. Das ist vollkommen unabhängig von ``while``.

Ich meine das Tutorial in der Python-Dokumentation. Python hat eine Dokumentation. Und da ist ein Tutorial dabei.

Re: while-Schleife

Verfasst: Montag 14. November 2011, 17:53
von jbs
Aber mal was anderes. Schreibe dir doch mal in natürlicher Sprache auf, was du machen musst. Also:

Code: Alles auswählen

eine Liste erstellen
500 hinzufügen
solange die Liste nicht 10 Elemente hat:
     ...

Re: while-Schleife

Verfasst: Montag 14. November 2011, 17:54
von problembär
Artur hat geschrieben:Erzeugen Sie mit Hilfe einer while-Schleife eine Liste mit 10 Zahlen und geben Sie
nach jeder Eingabe die Liste aus. Brechen Sie die while-Schleife ab, wenn die Liste vollständig ist.
Das ist schon ein bißchen verwirrend: Vielleicht sollen die Zahlen vom Benutzer eingegeben werden?

Ansonsten fände ich, wenn ich genau 10 Elemente haben will,
"for i in range(10): ..." doch viel passender. :roll:

Aber ich erinnere mich dunkel, es gab komische Lehrer, die ihre Aufgabentexte komisch formulierten. :D

Re: while-Schleife

Verfasst: Montag 14. November 2011, 18:03
von Artur
Das ist lustig aber ich habe eine Kopie von einer for-Schleife, die eine Liste runterzählt und nacheinander alle Elemente ausgibt. In der Aufgabe steht aber "while-Schleife", sonst würde ich euch vermutlich gar nicht um Hilfe bitten brauchen :-)

Re: while-Schleife

Verfasst: Montag 14. November 2011, 18:04
von BlackJack
@problembär: „Geben sie nach jeder Eingabe die Liste aus“ klingt sehr danach als sollten die Werte vom Benutzer eingegeben werden. Das hat deets in seiner Umformulierung ja auch angenommen. Dann macht auch sortieren, sowie Mini- und Maximum bestimmen, mehr Sinn als wenn man da immer fest die Werte 0 bis 9, und 500 in der Liste stehen hätte.

Re: while-Schleife

Verfasst: Montag 14. November 2011, 18:24
von Artur
Tut mir echt leid aber das Python Tutorial hat mir nicht viel gebracht. Ich weiß jetzt immer noch so viel wie vorher :-/. Kann mir nicht einfach bitte jemand die Lösung sagen?

Re: while-Schleife

Verfasst: Montag 14. November 2011, 18:27
von BlackJack
Dabei lernst Du aber nichts.

Re: while-Schleife

Verfasst: Montag 14. November 2011, 18:35
von Artur
Wenn ich die Lösung sehe, dann weiß ich wie die Aufgabe bzw. While-Schleifen mit Listen kombinieren funktioniert. Ohne einen Ansatz kann ich gar nichts. Seht mal, das ist die einzige while-Schleife, die wir bisher erstellt haben:

Code: Alles auswählen

import time
counter=0
while counter <=50:
    print counter, "\n"
    time.sleep(1)
    counter=counter+5
print "\nDie while-Schleife ist beendet"
Und daraus soll ich mir die Lösung der Aufgabe herleiten? Sry, ich weiß einfach nicht wie ich die Liste in die while-Schleife bringe. Ich habe es noch nie gemacht und werd es jetzt auch nicht zufällig erraten. Trotzdem danke für den Versuch mir zu helfen :cry:

Re: while-Schleife

Verfasst: Montag 14. November 2011, 18:57
von jbs
Ich könnte an dieser Stelle wieder einen rant starten...

Aber ich bin mal freundlich. Hier mal ein "Kochrezept" für dich.
  • man nehme eine Liste
  • man füge (`append`e) ihr 500 hinzu
  • gibt nun solange 9 beliebige Elemente dazu
  • überprüft zwischendurch die Würze mittels des `len`genmaßes
Und hier der Anfang:

Code: Alles auswählen

zahlen = []
#oder
zahlen = list()