0
#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 次,我想要一个基于该词的提示。我无法得到星星这个词,然后是与混乱有关的提示,可以吗?

使用我现在拥有的代码(我已经评论了我遇到问题的行),我收到一条错误消息,指出该字符串不可调用,我不知道该调用什么......

请帮忙!

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

提前致谢!

4

2 回答 2

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]

所以,如果你想要一个随机提示,你可以使用你的列表(耶)! nb “导入随机”使用:

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

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

继续...

“......,把它弄混了,然后我必须正确猜测它。这个过程有效,如果我猜错了,我会收到一条消息说再试一次,如果正确,将祝贺我然后进入下一个单词!

我遇到的一个问题是,如果用户在 3 次后猜错了,我希望能够给出提示。但是,如果程序给我,说“混杂”作为我必须猜测的一个词,我猜错了 3 次,我想要一个基于该词的提示。我无法得到星星这个词,然后是与混乱有关的提示,对吗?”

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

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

:你想要“jumble”的第 k 个提示

wordHints["jumble"][k - 1]

例如:你想要“jumble”的第 5 个提示,定义为“boogie”

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

希望有帮助;干杯!

于 2014-11-07T05:48:01.633 回答
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]
于 2014-11-07T04:20:50.597 回答