![](/img/trans.png)
[英]Checking if letter in string is in the same position in another string (python)
[英]Replacing a letter from a string with that same letter in the same position in a list - Python
我是一名 Python 初學者,並且在制作基本的劊子手游戲時遇到了最困難的時期。 當猜到一個正確的字母時,我應該填寫空白。 只是在尋找一種簡單的初學者方法來做到這一點。 這就是我正在嘗試但目前不起作用的方法:
word = random.choice(word_list)
word_dis.append("*" * len(word))
for chtr in word:
chtr_pos = word.find(current_guess)
print(chtr_pos)
if chtr == current_guess:
word_dis[chtr_pos] = chtr
我得到:
list assignment index out of range
嘗試這個:
word = random.choice(word_list)
word_dis = list("*" * len(word))
num_guesses = len(word)
while(num_guesses > 0):
current_guess = input("Enter your guess")
chtr_pos = word.find(current_guess)
if chtr_pos is not -1:
word_dis[chtr_pos] = word[chtr_pos]
num_guesses -= 1
print(word_dis)
我試圖將它盡可能分解,以便您可以拼湊如何創建它並使其成為您自己的。
word = 'random'
word = list(word)
blank = '-'*len(word)
while blank != ''.join(word):
print(blank)
letter = input('Enter a letter: ')
if letter in word:
x = word.index(letter)
for idx, item in enumerate(blank):
blank = list(blank)
blank[x] = letter
blank = ''.join(blank)
else:
continue
print('Congratulations! The word was {}'.format(''.join(word)))
我使用了一個預先選擇的單詞,因為我沒有你的單詞列表。
你可以做的是讓你的單詞成為一個list
它現在每個字母都有自己的index
,我們可以從那里制作一個相同長度的blank
占位符。
接下來我們可以創建一個循環,直到它們匹配為止,這里我使用''.join(word)
作為比較來維護list
版本但仍然能夠比較。
然后我們可以猜測letter
, if letter in word
那么我們可以從單詞word.index(letter)
獲取該字母的索引,有了這個索引,我們現在可以enumerate(blank)
這允許我們訪問item and index
和我們可以在一個list
版本的blank
和''.join(blank
把它放回一起替換相應的index
。
這個過程將繼續直到兩個單詞匹配,然后在循環中斷后我們可以打印我們的Congratulations
把它變成你自己的,但這只是一個讓你動起來的模板,干杯!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.