Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如果满足条件,但代码不';跑不动_Python_Python 3.x - Fatal编程技术网

Python 如果满足条件,但代码不';跑不动

Python 如果满足条件,但代码不';跑不动,python,python-3.x,Python,Python 3.x,我正在尝试制作一个基于文本的小游戏,玩家必须猜一个单词。如果秘密单词是water,玩家猜到了barge,游戏应该显示-Ar-e,因为这些是共同的字母,而且a也在正确的位置,所以它显示为大写字母 from random import randint def lingo(): fp = open("wordsEn.txt","r") words = [] while True: buffer = f

我正在尝试制作一个基于文本的小游戏,玩家必须猜一个单词。如果秘密单词是water,玩家猜到了barge,游戏应该显示-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()
来自随机导入randint
def行话():
fp=打开(“wordsEn.txt”、“r”)
单词=[]
尽管如此:
buffer=fp.readline()
如果缓冲区==“”:
打破
其他:
words.append(缓冲区[:-1])
秘密单词=列表(单词[randint(0,len(单词)-1)])
显示单词=[]
rand_num=randint(0,len(秘密单词)-1)
比较单词=[]
对于范围内的i(len(秘密单词)):
如果i==rand_num:
显示单词。追加(机密单词[i])
比较单词。追加(机密单词[i])
其他:
显示单词。追加(“-”)
比较单词。追加(“-”)
打印(秘密字)
对于范围(5)中的i:
打印(显示文字)
打印(比较单词)
如果compare\u word==secret\u word:
打破
其他:
尽管如此:
猜测=输入(“猜测:”)
如果guess.isalpha()==False:
打印(“仅限字母”)
elif len(猜测)>len(秘密单词):
打印(“太长”)
elif len(猜测)
你的问题/问题是什么?这个
显示单词[j]==guess[j]
的计算结果是
True
(或
False
)-你的意思是用一个
=
来做作业吗?所有问题都应该是最小的。现在还不清楚这里的问题是什么。试着减少这个问题的复杂性。“PatrickArtner,你就是问题所在,谢谢你的评论。