簡體   English   中英

Python猜單詞游戲錯誤

[英]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.

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