Seite 1 von 1
String in Substring teilen und so ausgeben
Verfasst: Dienstag 9. Februar 2021, 10:38
von Hannahkreutzer
Hallo zusammen. Ich bin ziemlich neu in Python und aufgrund von Corona musste ich mir fast alles selber beibringen, was ich sonst in der Schule gelernt hätte. Ich hoffe mir kann jemand helfen. Anbei meine Idee und die Aufgabenstellung. Vielen Dank.
Eingabe = input("Gib mir ein Wort und ich gebe es dir wieder aus oder Gib 'quit' ein, um das Programm zu beenden:")
Aufgabenstellung: Vielmehr soll die Eingabe in Wörter unterteilt werden. Ein Wort ist eine Zeichenkette, die von zwei Leerzeichen begrenzt wird. Diese Wörter sollen dann einzeln ausgegeben werden.
Ein Beispiel.
Eingegeben wurde 'Der klapperige Kaplan Klapp klebt ein Pappplakat an die Kapellwand.'
Die Ausgabe soll so aussehen:
'Der
klapperige
Kaplan
Klapp
klebt
ein
Pappplakat
an
die
Kapellwand.'
stop = 'quit'
word = ""
while word != stop:
word = input("Neue Eingabe: ")
print(word)
if word == stop:
print("Du hast das Programm beendet")
str(Eingabe) = word
str(words) = Eingabe.Split(' ')
foreach (var word in words)
{
System.Console.WriteLine($"<{word}>");
}
Re: String in Substring teilen und so ausgeben
Verfasst: Dienstag 9. Februar 2021, 10:54
von Jankie
Wo du das
Code: Alles auswählen
foreach (var word in words)
{
System.Console.WriteLine($"<{word}>");
}
her hast ist mir fraglich, das hat auf jeden Fall nichts mit Python zu tun.
Zu erst würde ich eine Funktion definieren die main() heißt, in der das "Hauptprogramm" dann läuft.
Darin läuft eine Endlosschleife die du zum beenden verlassen kannst (mit dem quit).
Also würde ich die Endlosschleife starten, dann die Eingabe einlesen.
Wie man die Eingabe in eine Varaible speichert weißt du ja schon, nämlich mit
Code: Alles auswählen
eingabe = input("Gib mir ein Wort und ich gebe es dir wieder aus oder Gib 'quit' ein, um das Programm zu beenden:")
dann musst du testen, ob die eingabe genau gleich dem String "quit" ist, wenn ja, dann verlässt du die Endlosschleife mit break.
Wenn nein, dann geht das Programm weiter und es geht an das aufteiles des Satzes.
Dafür gibt es die split() Methode die ohne weitere Paramter übergeben zu bekommen schon das machst, was du eigentlich benötgist, nämlich einen String mit mehreren Wörtern an der Leerstelle aufsplitten und jedes einzelne Element in eine Liste zu speichern. Diese Liste gibst u dann am Ende mit einer for-Schleife aus.
Also ungefähr so:
Code: Alles auswählen
def main():
while True:
#Eingabe in Variable speichern
#prüfen ob die Eingabe == 'quit' ist
#wenn ja, Schleife mit break verlassen
#wenn nein, die Eingabe mit .split() aufsplitten und das Ergebnis (eine Liste mit den einzelnen Wörtern als Element) an eine neue Variable binden
#dann mit einer for-Schleife die einzelnen Werte ausgeben
Re: String in Substring teilen und so ausgeben
Verfasst: Dienstag 9. Februar 2021, 10:56
von Sirius3
Mir fehlt jetzt irgendwie die Frage.
Der Code startet auch mit irgendwas, das wie Python aussieht, gleitet dann aber in eandere Programmiersprachen ab. Woher hast Du den Code?
Re: String in Substring teilen und so ausgeben
Verfasst: Dienstag 9. Februar 2021, 11:00
von __blackjack__
@Hannahkreutzer: Aufgabenstellung und Beispiel passen nicht zueinander. Wenn ein Wort etwas ist was durch zwei Leerzeichen begrenzt wird, dann dürften "Der" und "Kapellwand." nicht ausgegeben werden, denn die sind jeweils nur von *einem* Leerzeichen begrenzt. Bei "Der" ist kein Leerzeichen davor und bei "Kapellwand." ist kein Leerzeichen danach.
Deine Idee ist eine Mischung aus Python und JavaScript die von irgendwoher zusammenkopiert ist. Du müsstest schon ein kleines bisschen mehr Eigeninitiative zeigen und mal ernsthaft einen Lösungsversuch in Angriff nehmen. Es ist eher unwahrscheinlich das Dir hier jemand Deine Hausaufgaben für Dich löst.
Wir helfen gerne wenn Du irgendwo konkret nicht weiterkommst. Dazu müsstest Du nicht nur den Quelltext zeigen, sondern auch beschreiben was daran nicht funktioniert. Hier ist es ja sehr offensichtlich: JavaScript ist nicht Python. Aber sonst müsstest Du beschreiben was Du erwartet hast und was stattdessen passiert ist. Es ist auch hilfreich wenn Du verrätst *warum* Du erwartet hast was dann nicht passiert, damit man sehen kann wo das Verständnisproblem liegt.
Bei dem gezeigten Quelltext würde ich erst einmal auf das Grundlagentutorial in der Python-Dokumentation hinweisen. Das solltest Du vielleicht mal durcharbeiten. Zeichenketten, Operationen auf Zeichenketten, bedingte Verzweigungen und Schleifen sind die Themen die dafür mindestens relevant sind. In Tutorials werden üblicherweise nicht alle Funktionen und Methoden behandelt, darum kann es hier eventuell auch sinnvoll sein, sich mit den Methoden von Zeichenketten und Sequenzen in der Referenzdokumentation zu beschäftigen.
Re: String in Substring teilen und so ausgeben
Verfasst: Dienstag 9. Februar 2021, 11:23
von Hannahkreutzer
Den ersten Teil habe ich mit meinen Kenntnissen selber entwickelt und das das Wort oder der Satz als gesamtes ausgegeben wird funktioniert auch soweit. Da ich aber nicht wusste wie man einen Satz in einzelnen Worten ausgibt musste ich das googeln und das habe ich dann versucht zu übertragen und wie gesagt hatte ich bisher kaum Informatik Unterricht. Ich gehe nicht davon aus das ihr hier meine Hausaufgaben macht. LG
Re: String in Substring teilen und so ausgeben
Verfasst: Dienstag 9. Februar 2021, 11:30
von Jankie
In dem offiziellen Tutorial wird an
dieser Stelle hier erklärt was du tun musst um die Wörter einzeln, untereinander auszugeben.
Re: String in Substring teilen und so ausgeben
Verfasst: Dienstag 9. Februar 2021, 11:41
von Hannahkreutzer
Vielen Dank