def punctuation(string):
punctuations = '''!()-[]{};:'"\,<>./?@#$%^&*_~'''
for x in string.lower():
if x in punctuations:
string = string.replace(x, "")
# return string without punctuation
return string
file = open('ir500.txt', 'r+')
file_no_punc = (file.read())
file_no_punc = punctuation(file_no_punc)
with open('ir500_no_punc.txt', 'w') as file:
file.write(file_no_punc)
Объяснение:
Я изменил только punctuation(l)
на file_no_punc = punctuation(file_no_punc)
и print(string)
на return string
1) что такое l
в punctuation(l)
?
2) вы звоните punctuation()
- что работает правильно - но не используете его возвращаемое значение
3) потому что в настоящее время оно не возвращает значение, просто печатает его; -)
Пожалуйста обратите внимание, что я сделал только минимальное изменение, чтобы оно заработало. Возможно, вы захотите опубликовать его на нашем сайте code code , чтобы узнать, как его можно улучшить.
Кроме того, я бы порекомендовал вам получить хорошую IDE. На мой взгляд, вы не можете победить PyCharm Community Edition. Узнайте, как использовать отладчик; это твой лучший друг. Установите точки останова, запустите код; остановится, когда достигнет точки останова; затем вы можете проверить значения ваших переменных.