Я очень новичок в python и просматриваю материал курса и написал эту функцию для удаления определенного символа из строки независимо от того, сколько раз этот символ находится в строке.Удалить письмо из строки
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
Теперь вот что я не разобравшись, если я ставлю «asdfasdfasdf» в строке, а затем выбрать, чтобы удалить букву «D» он отлично работает. Но если поставить «Hello» в строке и выбрать удалить букву «l», она удалит только один «l», и результатом будет «Helo». Я не могу понять, почему он работает, когда я ставлю «asdfasdfasdf» и теперь «Hello»
Почему бы не использовать встроенную функцию для этого вместо того, чтобы создавать свои собственные? ''ababa'.replace (' a ',' ') =>' bb'' – Nicarus
Теперь я изучаю python, я уверен, что есть множество способов сделать это и намного проще, но мне нравится учиться попробовать разные вещи, чтобы увидеть, как все работает, и я действительно хотел узнать, почему это не работает. – Mafioso1823
Если вы только сейчас изучаете Python, я лично рекомендую вам учиться с Python 3 вместо 2. – Nicarus