各位用户为了找寻关于Python实现的简单hangman游戏实例的资料费劲了很多周折。这里教程网为您整理了关于Python实现的简单hangman游戏实例的相关资料,仅供查阅,以下为您介绍关于Python实现的简单hangman游戏实例的详细内容

本文实例讲述了Python实现的简单hangman游戏。分享给大家供大家参考。具体如下:

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 #!/usr/bin/env python import random import cPickle class Hangman(object):   '''A simple hangman game that tries to improve your vocabulary a bit '''   def __init__(self):     # the variables used, this is not necessary     self.dumpfile = ''    #the dictionary file     self.dictionary = {}   #the pickled dict     self.words = []     #list of words used     self.secret_word = ''  #the 'key'     self.length = 0     #length of the 'key'     self.keys = []      #inputs that match the 'key'     self.used_keys = []   #keys that are already used     self.guess = ''     #player's guess     self.mistakes = 0    #number of incorrect inputs     return self.load_dict()   #insert some random hints for the player   def insert_random(self, length):     randint = random.randint     # 3 hints     if length >= 7: hint = 3     else: hint = 1     for x in xrange(hint):         a = randint(1, length - 1)         self.keys[a-1] = self.secret_word[a-1]   def test_input(self):     #if the guessed letter matches     if self.guess in self.secret_word:       indexes = [i for i, item in enumerate(self.secret_word) if item == self.guess]       for index in indexes:         self.keys[index] = self.guess         self.used_keys.append(self.guess)         print "used letters ",set(self.used_keys),'n'     #if the guessed letter didn't match     else:       self.used_keys.append(self.guess)       self.mistakes += 1       print "used letters ",set(self.used_keys),'n'   # load the pickled word dictionary and unpickle them    def load_dict(self):     try :       self.dumpfile = open("~/python/hangman/wordsdict.pkl", "r")     except IOError:       print "Couldn't find the file 'wordsdict.pkl'"       quit()     self.dictionary = cPickle.load(self.dumpfile)     self.words = self.dictionary.keys()     self.dumpfile.close()     return self.prepare_word()   #randomly choose a word for the challenge   def prepare_word(self):     self.secret_word = random.choice(self.words)     #don't count trailing spaces     self.length = len(self.secret_word.rstrip())     self.keys = ['_' for x in xrange(self.length)]     self.insert_random(self.length)     return self.ask()   #display the challenge   def ask(self):     print ' '.join(self.keys), ":", self.dictionary[self.secret_word]     print     return self.input_loop()   #take input from the player   def input_loop(self):     #four self.mistakes are allowed     chances = len(set(self.secret_word)) + 4         while chances != 0 and self.mistakes < 5:       try:         self.guess = raw_input("> ")       except EOFError:         exit(1)       self.test_input()       print ' '.join(self.keys)       if '_' not in self.keys:         print 'well done!'         break       chances -= 1     if self.mistakes > 4: print 'the word was', ''.join(self.secret_word).upper()     return self.quit_message()   def quit_message(self):     print "n"     print "Press 'c' to continue, or any other key to quit the game. "     print "You can always quit the game by pressing 'Ctrl+D'"     try:       command = raw_input('> ')       if command == 'c': return self.__init__() #loopback       else : exit(0)     except EOFError: exit(1) if __name__ == '__main__':   game = Hangman()   game.__init__()

希望本文所述对大家的Python程序设计有所帮助。