Python ohne doppelten Input?
Also, die Frage hört sich nicht logisch an, aber lasst mich erst einmal erklären:
Mein Code Beispiel:
input1 = input(">>> ")
if input1 == 'internet':
input2 = input("Welche Seite möchtest du aufrufen?")
Jetzt will ich wissen, wie ich es hin bekommen kann, das erst gar nicht der 2 Input kommt, sondern das ich direkt das hinter den 1 input schreibe. Ein Beispiel:
internet www.youtube.com
2 Antworten
Kennst du Slicing?
>>> huhu = "abcdefg"
>>> huhu
'abcdefg'
>>> huhu[0:4]
'abcd'
>>> huhu[4:]
'efg'
Das kannst du hier gleich zweimal benutzen. Der Benutzer gibt ein
internet www.example.com
...und du prüfst, ob [0:7] "internet" ist und liest die Adresse aus [8:] raus.
Du könntest den input in einer Variablen (beispielsweise eingabe benannt) speichern und dann mit eingabe[:8] die ersten 8 Zeichen betrachten und mit "internet" vergleichen, oder die ersten 9 Zeichen mit "internet ".
Beispiel:
eingabe = input(">>> ")
if eingabe[:9] == "internet ":
input2 = eingabe[9:]
print("Eingegebene Seite:", input2)
Vielleicht wäre es aber sinnvoller den String mit der split()-Methode aufzuspalten, statt sich auf eine feste Länge zu beschränken. Insbesondere dann, wenn auch noch andere Dinge statt nur "internet" vorne in Frage kommen sollen.
Beispiel:
eingabe = input(">>> ")
input1, input2, *_ = eingabe.split(maxsplit=1)+[None, None]
if input1 == "internet":
print("Eingegebene Seite:", input2)
(Dabei habe ich input1 bzw. input2 auf None gesetzt, wenn nicht genügend Eingabe vorhanden ist.)
Das funkrionierr ja schon gut. Kann cih das auch bei einer Entry in Tkinter nutzen?