如何在需要时从列表中提取单个单词?

问题描述 投票:0回答:2
#Word Jumble Game

import random
import string

def jumbled():
words = ['Jumble', 'Star']#, 'Candy', 'Wings', 'Power', 'String', 'Shopping', 'Blonde', 'Steak', 'Speakers', 'Case', 'Stubborn', 'Cat', 'Marker', 'Elevator', 'Taxi', 'Eight', 'Tomato', 'Penguin', 'Custard']
count = 0    
loop = True
loop2 = True
while loop:
    word = string.lower(random.choice(words)
    jumble = list(word)
    random.shuffle(jumble)
    scrambled = "".join(jumble) 
    while loop2:
        print '\n',scrambled,'\n'
        guess = raw_input('Guess the word: ')
        quit = set(['quit','Quit'])
        choice = 'quit'
        if guess.lower() == word:    
            print '\nCorrect!'
            count+=1
            print "You took",count,"trie(s) in order to get the right answer",jumbled()
        else:
            print '\nTry again!\n'
            count+=1
            if count == 3:
                if words[0]*2:
                    print "It looks like you're having trouble!"
                    print 'Your hint is: %s'(words) # I'm trying to pull a word from the above list here.



jumbled()

所以我在这里,玩一个我编程的游戏,从列表中选择一个随机单词,混合起来,然后我必须正确猜测它。这个过程有效,如果我弄错了,我会收到一条消息说要再试一次,如果正确的话,请祝贺我接下来的话!

我遇到的一个问题是,如果用户在3次后错误猜测,我希望能够给出一个提示。但是,如果程序给了我,说'jumble'作为一个我必须猜测的单词,我猜错了3次,我想根据这个单词提示。我不能得到明星这个词,那是一个与混乱有关的暗示,是吗?

使用我现在的代码(我已经评论了我遇到的问题),我得到一个错误,说该字符串不可调用,我不知道该怎么称...

请帮忙!

如果不是太麻烦,我也需要能够输入退出然后游戏会自行退出,不幸的是,我不知道该怎么做。

提前致谢!

python words mixed
2个回答
0
投票

你在word中有一个毫不含糊的词,所以你可以使用

print 'Your hint is: %s'%word

很容易暗示

你可以制作一个dict来将单词映射到线索,例如

hint_dict = {'Jumble': 'Name of this game.", "Star": ...}

然后使用

print 'Your hint is: %s'%hint_dict[word]

1
投票

我可以根据你给我的东西分解你必须要做的事情。

“所以我在这里,玩一个我编程的游戏......:”

( - )从列表中选择一个随机单词。

好吧,尝试下面的字典,而不是列表:

wordHints = {"word1":("hint1_1", "hint1_2", "hint1_3", ..., "hint1_n"), 
             "word2":("hint2_1", "hint2_2", "hint2_3", ..., "hint2_n"),
                                       ...                            ,
             "wordm":("hintm_1", "hintm_2", "hintm_3", ..., "hintm_n")}

当你想获取wordi的第j个提示时,你只需使用:

hinti_j = wordHints[wordi][j - 1]

所以,如果你想要随机提示,你可以使用你的清单(yay)! n.b.使用“import random”:

wordList = []
for word in wordHints:
   wordList.append(word)

randomCPU = newList[random.randint(0, len(newList) - 1)]

继续...

“......混合起来然后我必须正确猜测它。这个过程有效,如果我弄错了,我会收到一条消息,说要再试一次,如果正确的话,请祝贺我接下来的话!

我遇到的一个问题是,如果用户在3次后错误猜测,我希望能够给出一个提示。但是,如果程序给了我,说'jumble'作为一个我必须猜测的单词,我猜错了3次,我想根据这个单词提示。我不能得到明星这个词,这是一个与混乱有关的暗示,是吗?“

好吧,到目前为止,我已经给了你大部分的构建模块,所以我认为如果你自己尝试的话,其中较大部分是最好的,但这里有一个提示并回答你的问题:

是的,你可以得到“明星”这个词,然后是一个与“混乱”有关的提示!你是否有“星”这个词是微不足道的,因为你知道如何获取它并以这种方式从字典中提取提示并不会抹掉你的提示。重要的是要知道如何获取与混乱有关的提示。

即:你想要“混乱”的暗示

wordHints["jumble"][k - 1]

例如:你想要“混乱”的第五个暗示,定义为“布吉”

print(wordHints["jumble"](5 - 1))
>>> boogie

希望有所帮助;干杯!

© www.soinside.com 2019 - 2024. All rights reserved.