Seite 1 von 1

wortabfage

Verfasst: Mittwoch 18. April 2018, 14:04
von toper
Ich versuche gerade ein programm zu schriben das mir ein paar wörter augibt und ich muss das fehlende wort eingeben.
z.b.
liste = ["a", "b", "c", ] u.s.w.
Ich möchte nun dass er mir alle Teile der liste bis auf eins ausgibt und das letzte dann abfragt.

Hat jemand eine Lösung ohne so viel programmcode?

Re: wortabfage

Verfasst: Mittwoch 18. April 2018, 14:17
von Sirius3
@toper: was heißt denn, "ohne so viel programmcode"? Was hast Du schon versucht? Zeig mal Deinen bisherigen Code.

Re: wortabfage

Verfasst: Mittwoch 18. April 2018, 14:20
von toper
Bisher habe ich nur die idee es mit if schleifen zu machen,also
if liste == 1 and 2...
aber das würde echt lange dauern und wäre auch nicht sehr überschaubar

Re: wortabfage

Verfasst: Mittwoch 18. April 2018, 14:35
von Sirius3
@toper: was willst Du denn genau mit if-Abfragen (das sind keine Schleifen) machen? "liste" ist ja eine Liste und keine Zahl?

Re: wortabfage

Verfasst: Mittwoch 18. April 2018, 14:37
von /me
toper hat geschrieben:Bisher habe ich nur die idee es mit if schleifen zu machen,also
if liste == 1 and 2...
`if` leitet keine Schleife ein. Zudem ist dieser rudimentäre Pseudocode auch noch unlogisch.

Du musst auf jeden Fall aus der Liste einen Wert ermitteln, den du hinterher abfragen willst. Ich gehe davon aus, dass es sich dabei um ein zufälliges Element handeln soll. Dafür kannst du random.choice verwenden. Jetzt brauchst du nur noch alle Elemente der Liste ausgeben ohne dasjenige, das du gerade zufällig ausgewählt hast.

Re: wortabfage

Verfasst: Mittwoch 18. April 2018, 14:38
von toper
@Sirius
Ich meine dass ich die ganzen möglichkeiten in if fälle verpacke. Also alle möglichkeiten.
Und das müste man natürlich so schreiben: liste[2] ...

Re: wortabfage

Verfasst: Mittwoch 18. April 2018, 15:29
von toper
Hat jemand eine Idee?

Re: wortabfage

Verfasst: Mittwoch 18. April 2018, 15:55
von __deets__
Ist das was du machen willst so etwas wie ein Lueckentext?

Re: wortabfage

Verfasst: Mittwoch 18. April 2018, 16:00
von toper
Nicht direkt.
Es geht um wörter die miteinander zusammenhängen und man soll das fehlende herausfinden.
Also im prinzip ein Lükentext mit einzelnen wörtern

Re: wortabfage

Verfasst: Mittwoch 18. April 2018, 16:04
von Sirius3
@toper: bisher ist mir noch nicht klar, wie welche Möglichkeit ausgewählt wird. Um Programmieren zu lernen, muß man erst einmal irgendeine (Teil-)Lösung haben, um ersteinmal das Problem verstanden zu haben, um dann im weiteren Schritt zu einer besseren (verallgemeinerten) Lösung zu kommen. Wie sieht also Deine Lösung für eine Möglichkeit aus?

Re: wortabfage

Verfasst: Mittwoch 18. April 2018, 16:08
von toper
Ich dachte mir erst wird mit der random funktion ein zufälliges wort aus der liste ausgewählt. Dann alle anderen ausgegeben und dann das wort abgefragt.
Mein Problem ist jetzt das ausgeben der Wörter.
Praktisch wäre eine funktion die sagt printe alle teile der liste außer ...

Re: wortabfage

Verfasst: Mittwoch 18. April 2018, 16:14
von __deets__
Wenn so eine Funktion praktisch waere, dann musst du dir die wohl schreiben. Denn geben tut es die nicht.

Du musst
- einen zufaelligen Index bestimmen, der ausgelassen werden soll. Der Wertebereich dafuer ist 0..len(liste)-1
- eine Funktion schreiben, die eine Liste und einen Index bekommt, und alle Werte in der Liste ausgibt, *ausser* den, der uebergeben wurde.

Re: wortabfage

Verfasst: Mittwoch 18. April 2018, 16:15
von toper
Und wie genau soll diese Funktion aussehen?

Re: wortabfage

Verfasst: Mittwoch 18. April 2018, 16:49
von Sirius3
@toper: zeig doch mal den Code, der z.B. nur das 3. Element nicht ausgibt. Von da aus können wird dann schauen, wie man das verallgemeinert.

Re: wortabfage

Verfasst: Mittwoch 18. April 2018, 17:00
von /me
toper hat geschrieben:Und wie genau soll diese Funktion aussehen?
Erst einmal brauchst du eine for-Schleife und zum Ausgeben die print-Funktion. Das sollte doch jetzt zumindest reichen, dass du mal anfangen kannst.