Seite 1 von 1

Laienfrage: Mit Input Teile einer Liste abfragen?

Verfasst: Samstag 23. April 2022, 15:23
von Rind23
Hallo liebe Leute,

ich bin dabei, mir als Laie Python selbst anzueignen, und komme gerade an einer Stelle nicht weiter.

Ich möchte gerne per input-Befehl mehrere mögliche Antworten zulassen, will aber nicht jede einzelne Formulierung oder mögliche Rechtschreibfehler beachten müssen. Ist es möglich, dass nach der Eingabe des Nutzers, die z.B. "Hilfe, ich habe mein Kennwort vergessen" lautet, die Schleife beendet wird und ich weitermachen kann, obwohl der Satz in der abgefragten Liste selbst nicht genau so steht?

Oder hättet Ihr sonst einen Tipp, wie ich das machen könnte?

Code: Alles auswählen


begruessung = input('Willkommen. Was kann ich für Sie tun?')
anfrage1 = ''

moeglicheantworten1 = ['Passwort', 'Kennwort', 'Zugangsdaten', 'vergessen', 'verlegt']

while anfrage1 not in moeglicheantworten1:
    anfrage1 = input('''Leider kann ich nicht weiterhelfen.
Bitte geben Sie erneut eine Anfrage ein.''')
Danke schonmal!

Rind23

Re: Laienfrage: Mit Input Teile einer Liste abfragen?

Verfasst: Samstag 23. April 2022, 16:10
von __deets__
Salopp gesagt: nein. Zwar gibt es fuzzy matching für strings, und andere Techniken des Sprachverstehens. Aber die sind weit jenseits des Laienniveaus. Vor allem aber ist der Ansatz, den du da fährst, sehr ungeschickt. Denn der Benutzer hat keine Ahnung, was dein Programm alles kann. Er muss also raten.

Stattdessen zeigt man eine Liste mit Möglichkeiten an, und einen einfachen Mechanismus wie zb eine Zahl oder einen Buchstaben zur Eingabe der konkreten Auswahl. Das löst beide Probleme auf einmal.

Re: Laienfrage: Mit Input Teile einer Liste abfragen?

Verfasst: Samstag 23. April 2022, 16:42
von Rind23
__deets__ hat geschrieben: Samstag 23. April 2022, 16:10 Salopp gesagt: nein. Zwar gibt es fuzzy matching für strings, und andere Techniken des Sprachverstehens. Aber die sind weit jenseits des Laienniveaus. Vor allem aber ist der Ansatz, den du da fährst, sehr ungeschickt. Denn der Benutzer hat keine Ahnung, was dein Programm alles kann. Er muss also raten.

Stattdessen zeigt man eine Liste mit Möglichkeiten an, und einen einfachen Mechanismus wie zb eine Zahl oder einen Buchstaben zur Eingabe der konkreten Auswahl. Das löst beide Probleme auf einmal.
An vorgegebene Antwortmöglichkeiten habe ich auch als Option gedacht, falls dieser Vorgang nicht so möglich ist, wie ich gern hätte. Die Aufforderung im input war in dem Fall nur ein Beispiel bzw. ich wollte diese Eingabemöglichkeit in einen größeren Kontext setzen, der dem Benutzer auf jeden Fall klarmacht, was gefordert ist.

Auf jeden Fall vielen Dank für die schnelle und präzise Antwort! :) Und ein schönes Wochenende noch!