Python :: Aufgabe #357 :: Lösung #1
1 Lösung
#357
String-Vergleich mit Rücktaste/Backspace
Anfänger - Python
von JKooP
- 12.05.2021 um 15:38 Uhr
Gegeben sind zwei Strings (Texte) bestehend aus einer Anzahl (<100) Kleinbuchstaben (a-z) und
Backspaces (Rücktastenzeichen) welche hier als Hashtag/Raute (#) dargestellt werden.
Dabei können die Strings unterschiedlicher Länge sein.
Ziel soll es sein zu überprüfen, ob die beiden Strings (s1, s2) identisch sind.
Beispiele:
s1 = ab#c
s2 = ae#c
Lösung: true ("ac" == "ac"), denn Backspace löscht in s1 das b und in s2 das e
s1 = ab##
s2 = e#f#
Lösung: true ("" == ""), denn Backspace löscht in s1 zuerst das b und dann das a und in s2 zuerst das e und dann das f
s1 = a#c
s2 = ac#
Lösung: false ("c" != "a") , denn Backspace löscht in s1 das a und in s2 das c
s1 = ####
s2 = ###a#
Lösung: true
s1 = abcdefg
s2 = abcder#fr#g
Lösung: true
Schreibe eine Methode/Funktion, die für obige Aufgabenstellung als Ergebnis true/false liefert.
Viel Spaß
Backspaces (Rücktastenzeichen) welche hier als Hashtag/Raute (#) dargestellt werden.
Dabei können die Strings unterschiedlicher Länge sein.
Ziel soll es sein zu überprüfen, ob die beiden Strings (s1, s2) identisch sind.
Beispiele:
s1 = ab#c
s2 = ae#c
Lösung: true ("ac" == "ac"), denn Backspace löscht in s1 das b und in s2 das e
s1 = ab##
s2 = e#f#
Lösung: true ("" == ""), denn Backspace löscht in s1 zuerst das b und dann das a und in s2 zuerst das e und dann das f
s1 = a#c
s2 = ac#
Lösung: false ("c" != "a") , denn Backspace löscht in s1 das a und in s2 das c
s1 = ####
s2 = ###a#
Lösung: true
s1 = abcdefg
s2 = abcder#fr#g
Lösung: true
Schreibe eine Methode/Funktion, die für obige Aufgabenstellung als Ergebnis true/false liefert.
Viel Spaß
#1
von eisheiliger (3750 Punkte)
- 17.05.2021 um 15:27 Uhr
"""
#357: String-Vergleich mit Rücktaste/Backspace
Gegeben sind zwei Strings (Texte) bestehend aus einer Anzahl (<100) Kleinbuchstaben (a-z) und Backspaces
(Rücktastenzeichen) welche hier als Hashtag/Raute (#) dargestellt werden. Dabei können die Strings unterschiedlicher
Länge sein. Ziel soll es sein zu überprüfen, ob die beiden Strings (s1, s2) identisch sind.
"""
def prf_back(sin):
sot = ""
for i in range(0, len(sin)):
if sin[i] != "#":
sot += sin[i]
elif len(sot) > 0:
sot = sot[:-1]
else:
continue
return sot
def vgl_back(s1, s2):
if prf_back(s1) == prf_back(s2):
print("True")
else:
print("False")
vgl_back("ab#c", "ae#c")
vgl_back("ab##", "e#f#")
vgl_back("a#c", "ac#")
vgl_back("####", "###a#")
vgl_back("abcdefg", "abcder#fr#g")
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
