Как напечатать пробел вместо подчеркивания для l oop для строки - PullRequest
0 голосов
/ 12 июля 2020

В настоящее время у меня есть этот код:

word_hidden = ""  
word = "Hello there"
hide_word = "_"
for i in range(len(word)):
word_hidden += hide_word
print(f"Word: {word_hidden}")

Вывод:

Word: ___________

Есть ли способ распечатать пробел как пробел в выводе вместо подчеркивания, вот так:

Вывод:

Word: _____ _____

Ответы [ 3 ]

1 голос
/ 12 июля 2020

Вы можете разделить свое слово и запустить l oop над списком, созданным таким образом. Это также напечатает дополнительный пробел в конце слова.

word_hidden = ""
word = "Hello There"
ls = word.split(" ")
hide_word = "_"

for item in ls:
    word_hidden += len(item)*hide_word
    word_hidden += " "
    
print (f"Word: {word_hidden}")
1 голос
/ 12 июля 2020
word = "Hello there"
hide_word = "_"

word_hidden = ''.join({' ':' '}.get(ch, hide_word) for ch in word)
print(word_hidden)

Печать:

_____ _____

Или:

word_hidden = ''
for ch in word:
    if ch == ' ':
        word_hidden += ch
    else:
        word_hidden += hide_word

print(word_hidden)

Печать:

_____ _____
0 голосов
/ 12 июля 2020

Регулярное выражение должно работать нормально.

import re
regex = re.compile('[a-zA-Z]')
regex.sub('_', 'Hello there')

вывод:

'_____ _____'

...