如果满足条件,但代码未运行,则最后一次

时间:2020-09-05 17:52:11

标签: python python-3.x

我正在尝试制作一款基于文本的小型游戏,玩家必须猜测一个单词。如果密码是水,并且玩家猜到了驳船,游戏应该显示-Ar-e,因为这些字母是相同的字母,并且由于a也位于正确的位置,因此显示为大写字母。

from random import randint

def lingo():
    
    fp = open("wordsEn.txt","r")
    words = []
    
    while True:
        buffer = fp.readline()
        if buffer == "":
            break
        else:
            words.append(buffer[:-1])
    
    secret_word = list(words[randint(0,len(words)-1)])
    display_word = []
    rand_num = randint(0,len(secret_word)-1)
    compare_word = []
    
    for i in range(len(secret_word)):
        if i == rand_num:
            display_word.append(secret_word[i])
            compare_word.append(secret_word[i])
        else:
            display_word.append("-")
            compare_word.append("-")
    
    print(secret_word)
    
    for i in range(5):
        print(display_word)
        print(compare_word)
        
        if compare_word == secret_word:
            break
       
        else:
            
            while True:
                guess = input("guess: ")
                
                if guess.isalpha() == False:
                    print("Only letters")
                elif len(guess) > len(secret_word):
                    print("Too long")
                elif len(guess) < len(secret_word):
                    print("Too short")
                else:
                    break
    
            for j in range(len(guess)):
                print(guess[j])
                print(guess[j] in secret_word)
                if guess[j] in secret_word:
                    print("I am in")
                    if guess[j] == secret_word[j]:
                        display_word[j] == guess[j].upper()
                        compare_word[j] == guess[j]
                    else:
                        display_word[j] == guess[j]
                else:
                    print("I am out")
                    continue

lingo()

0 个答案:

没有答案
相关问题