мой код:
def word_distribution(stringeling):
for char in "?!.,":
Satz = stringeling.replace(char,"")
return Satz
print(word_distribution("Hallo du Peter? Du! und punkt. und komma,"))
output: Hallo du Peter Du! und punkt. und komma
Код удаляет только первый "?" Почему, когда я использую цикл for без функции, он печатает мне все слова без знаков препинания. Спасибо за помощь ;)
Вы можете попробовать следующее:
def word_distribution(stringeling):
for char in "?!.,":
stringeling = stringeling.replace(char,"")
return stringeling.lower()
ИМХО, вам не нужен цикл for. Поскольку замена выполняет фиксированную замену, поэтому я использовал sub от re module для поиска и замены с помощью regex. Ниже приведен код
import re
def word_distribution(stringeling):
Satz = re.sub('[?,.!]',"",stringeling,count=0,flags=0)
return Satz
Выведите следующим образом
>>> print(word_distribution("Hallo du Peter? Du! und punkt. und komma,"))
Hallo du Peter Du und punkt und komma
вы перезаписываете Satz каждый раз в цикле с оригинальной наклейкой. Пытаться:
def word_distribution(stringeling):
for char in "?!.,":
stringeling = stringeling.replace(char,"")
return stringeling
print(word_distribution("Hallo du Peter? Du! und punkt. und komma,"))