[英]Python guess the word game bugs
我創建了一個猜詞游戲,基本上,當您運行它時,它會要求您輸入3個單詞,並且您有10條命來嘗試猜它。 但是我有一些問題,循環不會結束,有些句子會不斷重復,而且我不知道如何保存隱藏的內容,因此將其保存為下一個字母。 如果有人可以幫助我,我將非常感激。
這是代碼:
mport re
import sys
import random
FirstWord = input("Enter your first word: ")
if not re.match("^[a-z]*$", FirstWord):
print ("Sorry Only non capital letters are allowed.")
sys.exit()
SecondWord = input("Enter your Second word: ")
if not re.match("^[a-z]*$", SecondWord):
print ("Sorry Only letters are allowed.")
sys.exit()
ThirdWord = input("Enter your Third word: ")
if not re.match("^[a-z]*$", ThirdWord):
print ("Sorry Only letters are allowed.")
sys.exit()
Words = [FirstWord,SecondWord,ThirdWord]
try:
fh = open("/Users/naomi/Documents/Vocabulary.txt","a")
except IOError as e:
print("File does not exist or error when opening")
exit()
else:
fh.write (FirstWord)
fh.write (SecondWord)
fh.write (ThirdWord)
fh.close()
GeneratedWord = random.choice(Words)
hidden = '_ ' * len(GeneratedWord)
print ()
print ("Word: ",hidden)
count =10
while count >=1 :
guess = input("Take a guess ")
if len(guess) != 1:
print ("Only one letter can be entered at a time!")
elif guess not in 'abcdefghijklmnopqrstuvwxyz':
print ("Only letters are excepted!")
for letter in GeneratedWord:
if letter in GeneratedWord:
show = GeneratedWord.index(guess)
unhidden = hidden[:show*2] + guess + hidden[show*2+1:]
print ("Guess is correct!")
else:
count = count-1
print ("Your guess was wrong")
print()
print(unhidden)
看起來在第二個If語句中,只有在猜測錯誤的情況下,計數器才會遞減。 我假設您每次計數器猜測對或錯時都需要使計數器遞減。
我認為這行有邏輯錯誤
for letter in GeneratedWords:
if letter in GeneratedWords:
更改為:
for letter in GeneratedWords:
if (guess == letter):
要么:
if (guess in GeneratedWords):
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.