Ich bin sehr neu in Python und durch einige Kursmaterial und schrieb diese Funktion, um ein bestimmtes Zeichen aus der Zeichenfolge zu entfernen, egal wie oft das Zeichen in der Zeichenfolge ist.Remove letter from string
def remove_letter(): #Remove a selected letter from a string
base_string = str(raw_input("Enter String: "))
letter_remove = str(raw_input("Enter Letter: ")) #takes any size string
letter_remove = letter_remove[0]
string_length = len(base_string)
location = 0
while (location < string_length): #by reference (rather than by value)
if base_string[location] == letter_remove:
base_string = base_string[:location] + base_string[location+1::]
string_length -= 1
location+=1
print "Result: %s" % base_string
return
Hier ist das, was ich nicht verstehen, wenn ich „asdfasdfasdf“ setzen in der Zeichenfolge und wählen Sie dann den Buchstaben „D“ zu entfernen, es funktioniert perfekt. Wenn Sie jedoch "Hello" in die Zeichenfolge einfügen und den Buchstaben "l" entfernen, wird nur ein "l" entfernt und das Ergebnis lautet "Helo". Ich kann nicht verstehen, warum es funktioniert, wenn ich "asdfasdfasdf" und jetzt "Hallo" setze
Warum nicht eine eingebaute Funktion für diese anstelle der eigenen Erstellung verwenden? ''ababa'.replace (' a ',' ') =>' bb'' – Nicarus
Ich lerne jetzt Python, ich bin sicher, es gibt eine Reihe von verschiedenen Möglichkeiten, dies zu tun und viel einfacher, aber ich mag es zu lernen verschiedene Dinge ausprobieren, um zu sehen, wie alles funktioniert, und ich wollte wirklich herausfinden, warum das nicht funktioniert – Mafioso1823
Wenn Sie gerade jetzt Python lernen, würde ich persönlich empfehlen, dass Sie mit Python 3 statt 2 lernen. – Nicarus