Kleines Python-Problem

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
::1
User
Beiträge: 2
Registriert: Samstag 23. September 2017, 12:39

Hallo liebe Community,

ich habe das Forum per Zufall über Google gefunden und es spricht mich auf jeden Fall an.

Ich bin gerade dabei seit gestern Python zu lernen und bis jetzt hat soweit alles geklappt. Ich bin überrascht wie simpel Python ist aber auch wiederum eine mächtige Sprache.

Ich habe jedoch ein kleines Problem was ich nicht lösen kann.

Und zwar will ich gerade ein Code basteln, bei dem ich wenn ich irgendeine Nummer eingebe, auf eine bestimmte Website komme.
Z. B. Wenn ich die Taste "1" eingebe, gelange ich auf "Google.de", wenn ich die Taste "2" eingebe, gelange ich auf "Facebook.de" und bei "3" auf "Instagram.com"

Soweit so gut. Ich habe es noch hingekriegt, dass wenn man auf die Tasten drückt, man auf die jeweilige Website kommt.

Das Problem ist Folgendes:

Wenn ich z. B. auf Facebook gelangen will (welches die Taste 2 ist), muss ich zwei Mal die Taste "2" eingeben um auf Facebook zu gelangen. Bei Instagram muss ich 3x die Taste "3" eintippen. Bei Google jedoch nur 1x und dann komme ich direkt auf die Website.

Ich möchte es so wie bei Google haben, dass wenn man eine Nummer eintippt, der Code dann quasi "gebreakt" wird und man zurück ins Hauptmenü kommt.

Hier der Code:

Code: Alles auswählen

import webbrowser

menue = print("""\
        Welche Website möchtest du öffnen?
         1 - Google
         2 - Facebook
         3 - Instagram
""")

while True:
    if input("Deine Eingabe: ") == "1":
        webbrowser.get("windows-default")
        webbrowser.open("www.google.de")
        print("Google wurde erfolgreich geöffnet.")
        break

    elif input("Deine Eingabe: ") == "2":
        webbrowser.get("windows-default")
        webbrowser.open("www.facebook.de")
        print("Facebook wurde erfolgreich geöffnet.")
        break

    elif input("Deine Eingabe: ") == "3":
        webbrowser.get("windows-default")
        webbrowser.open("www.instagram.com")
        print("Instagram wurde erfolgreich geöffnet.")
        break

    else:
        print("Bitte versuche es erneut.")
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

dein Fehler ist, dass du das `input` direkt in der if-Abfrage hast. Dadurch erscheint es nochmal, wenn die 1. Bedingung nicht stimmt und nochmal, wenn die 2. Bedingung nicht stimmt und nochmal...
Pack' das `input` vor die if-Abfrage und binde das Ergebnis von `input` an eine Variable, die in der if-Bedingung abgefragt wird, dann sollte es passen.

Gruß, noisefloor
::1
User
Beiträge: 2
Registriert: Samstag 23. September 2017, 12:39

EDIT:

Ich hab es herausgefunden. Danke dir!
Antworten