簡體   English   中英

如何在for循環中為字符串打印空格而不是下划線

[英]How to print space instead of underline in for loop for a string

我目前有這個代碼:

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

Output:

Word: ___________

有沒有辦法讓我將空格打印為 output 中的空格而不是下划線,如下所示:

Output:

Word: _____ _____
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)

印刷:

_____ _____

您可以拆分您的單詞並在這樣創建的列表上運行循環。 這也會在單詞的末尾打印一個額外的空格。

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}")

正則表達式應該可以正常工作。

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

output 是:

'_____ _____'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM