Я пытаюсь переписать строки 5-8 только двумя строками, используя метод str.replace
s = 'pa55w-r@'
result = ''
for c in s:
if(c not in 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'):
result += '*'
else:
result += c
print(result)
Ниже приведено то, что я получил до сих пор.
s = 'pa55w-r@'
result = ''
for c in s:
if(c not in 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'):
result = s.replace(c,"*")
print(result)
Однако, я не уверен, почему вывод
pa55w-r*
вместо
pa55w*r*
, который имеет исходный код? Я попытался сравнить с другим примером на Использование str.replace в цикле for , однако, предлагается добавить оператор else, который я фактически удалил, чтобы сжать код с 3 строк до 2. Любой вводбудет признателен
Ах, я почти забыл упомянуть, я не могу использовать метод регулярных выражений, который, кажется, является распространенным ответом, который я видел до сих пор во время поиска подсказок в stackoverflow.