假設rand_word
是字符串= 'petite'
和guess
是單個字符Python - 如何將字符串結果放入if變量中?
for char in rand_word:
if char in guess:
print(char,end='')
else:
print('_',end="")
的代碼的用戶輸入上面,如果我輸入的字母「E」作爲我的輸入 它將輸出這個
_e___e
我的問題是如何把這個輸出放在一個變量中?
假設rand_word
是字符串= 'petite'
和guess
是單個字符Python - 如何將字符串結果放入if變量中?
for char in rand_word:
if char in guess:
print(char,end='')
else:
print('_',end="")
的代碼的用戶輸入上面,如果我輸入的字母「E」作爲我的輸入 它將輸出這個
_e___e
我的問題是如何把這個輸出放在一個變量中?
把你的角色在列表中,並加入它str.join()
:
result = []
for char in rand_word:
if char in guess:
result.append(char)
else:
result.append('_')
result = ''.join(result)
使用條件表達式和列表理解,你可以把所有這一切在同一行:
result = ''.join([c if c in guess else '_' for c in rand_word])
另一種方式要做到這一點:
result = [char if char in guess else "_" for char in rand_word]
str_result = "".join(result)
更簡單,也許
to_print = ""
for char in rand_word:
if char in guess:
to_print += char
else:
to_print += '_'
print(to_print)
百萬美元的問題是,爲什麼這可能不是一個好主意......
嗨, 我正在使用python一個劊子手遊戲,我用了你提供的代碼和它的工作。 但我的問題是,只要我輸入一個字母,它會輸出讓我們說在'嬌小',如果我輸入字母'e'的輸出是>> _e___e 但是,當我輸入另一個字母可以說字母't'它會輸出>> __t_t_ 我要的是第一輸出也包括像這樣,每當我得到一個正確的字母>> _e_t_te 這裏是我的代碼: http://pastebin.com/HrV27pxT – rccnls27
@ rccnls27:這是最好,如果你把它放在一個* new *問題中;一旦你目前的問題得到解決,評論不是一個很好的地方去問你遇到的新問題。你還需要記住以前的猜測。做一個列表或設置'guesses'並添加每個'guess'字母,然後使用'if char in guesses'。 –