我正在一個文字遊戲工作。用戶的目的是在5次嘗試中猜測5個字母的單詞。用戶可以知道第一個字母。如果他沒有得到正確的單詞,但是如果他在正確的地方有一封信,他就會知道這一點。蟒蛇改善文字遊戲
這是我的代碼:
import random
list_of_words = ["apple","table", "words", "beers", "plural", "hands"]
word = random.choice(list_of_words)
attempts = 5
for attempt in range(attempts):
if attempt == 0:
tempList = list(word[0] + ("." * 4))
print("The first letter of the word we are looking for: %s" % "".join(tempList))
answer = raw_input("What is the word we are looking for?:")
if len(answer) != 5:
print ('Please enter a 5 letter word')
Else:
if answer != word:
wordlist = list(word)
answerlist = list(answer)
for i in range(min(len(wordlist), len(answerlist))):
if wordlist[i] == answerlist[i]:
tempList[i] = wordlist[i]
print(tempList)
else:
print("correct, you have guessed the word in:", attempt, "attempts")
if answer != word:
print("Sorry maximum number of tries, the word is: %s" % word)
我對這個代碼的兩個問題:
第一個是一個小問題:如果用戶給出一個6或4個字母的單詞,它仍然會打印這個單詞。雖然我寧願讓這個詞被忽略,並且這個嘗試沒有被使用。
如果一個字母給出正確(也是第一個字母),它就不會成爲反饋的標準部分。試圖得到這個溫度,但它的工作效果不好。
任何建議來清理我的代碼也感激!
感謝您的關注
@ zord。哇,這是偉人,非常感謝!我的第一個版本也包含「while」,但後來改變了。 '最後猜測','效果更好。謝謝,我很感激!歡呼聲 – user3119123
歡迎您! :) – zord