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

时间:2014-11-07 04:08:49

标签: python words mixed

#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次后错误猜测,我希望能够给出一个提示。但是,如果该计划给了我,说“混乱”'作为一个我必须猜测的词,我猜错了3次,我想根据这个词提示。我不能得到明星这个词,然后是一个与混乱有关的暗示,是吗?

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

请帮忙!

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

提前致谢!

2 个答案:

答案 0 :(得分: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")}

当您想要获取第一个提示时,您只需使用:

hinti_j = wordHints[wordi][j - 1]

所以,如果你想要随机提示,你可以使用你的列表(yay)! n.b。"随机导入"使用:

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

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

继续......

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

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

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

是的,你可以得到“#34; star"”这个词,然后提示一下" jumble"! 你是否有'#34; star"这是微不足道的,因为你知道如何获取它并以这种方式从字典中获取提示并不会消除你的提示。 重要的是要知道如何获取与混乱有关的提示。

:你想要"混乱"'提示

wordHints["jumble"][k - 1]

例如:你想要"混乱"第五个提示,定义为" boogie"

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

希望有所帮助;干杯!

答案 1 :(得分: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]