Sunteți pe pagina 1din 3

casi bien: def hangman(secretWord): noguess=8 guess0=generateguess0(secretWord) aletters=getAvailableLetters('') print('Welcome to the game Hangman!

') print ('I am thinking of a word that is '+str(len(secretWord))+' letters lon g.') print('----------') while noguess>0: print('You have '+str(noguess)+' guesses left') print('Available Letters: '+str(aletters)) lettersGuessed=raw_input('Please guess a letter:') if lettersGuessed in aletters: aletters=getAvailableLetters2(aletters, lettersGuessed) noguess=noguess-1 if lettersGuessed in secretWord: guess1=getGuessedWord(secretWord, lettersGuessed) guess0=combineguess(guess0, guess1) print('Good guess: '+str(guess0)) print('----------'); else: print('Oops! That letter is not in my word: '+str(guess0)) print('----------'); else: print("Oops! You've already guessed that letter:"+str(guess0)) print('----------') if checkfinish(guess0, secretWord): print("Congratulations, you won!") break if not checkfinish(guess0, secretWord): print("Sorry, you ran out of guesses. The word was "+str(secretWord)+ '.') def combineguess(guess3, guess4): guess='' if guess3=='': return guess4 else: for k in range(len(guess4)): if guess3[k]=='_': guess=guess+guess4[k] else: guess=guess+guess3[k] return guess def generateguess0(secretWord): guess0='' for k in range(len(secretWord)): guess0=guess0+'_' return guess0 def checkfinish(guess, secretWord): if guess == secretWord: return True else: return False def getAvailableLetters2(ans, lettersGuessed):

for char in lettersGuessed: if char in ans: ans=ans.replace(char,'') return ans ################################## Perfecto!!!!!!!

def hangman(secretWord): ''' secretWord: string, the secret word to guess. Starts up an interactive game of Hangman. * At the start of the game, let the user know how many letters the secretWord contains. * Ask the user to supply one guess (i.e. letter) per round. * The user should receive feedback immediately after each guess about whether their guess appears in the computer's word. * After each round, you should also display to the user the partially guessed word so far, as well as letters that the user has not yet guessed. Follows the other limitations detailed in the problem write-up. ''' nguesses=8 print('Welcome to the game Hangman!') nletters=len(secretWord) print('I am thinking of a word that is '+str(nletters)+ ' letters long.') print('-------------') lettersGuessed=[] while nguesses>0: print('You have '+str(nguesses)+ ' guesses left') print('Available Letters: '+ str(getAvailableLetters(lettersGuessed))) guess=str(raw_input('Please guess a letter: ')) guessLowerCase=guess.lower() if guessLowerCase not in lettersGuessed: lettersGuessed.append(guessLowerCase) if guessLowerCase in secretWord: print('Good guess: ' +str(getGuessedWord(secretWord, letters Guessed))) else: print('Oops! That letter is not in my word: ' +str(getGuesse dWord(secretWord, lettersGuessed))) nguesses-=1 else: print('Oops! You'+"'"+'ve already guessed that letter: '+str(getGues sedWord(secretWord, lettersGuessed))) print('-------------')

if isWordGuessed(secretWord, lettersGuessed)==True: print('Congratulations, you won!') return None if isWordGuessed(secretWord, lettersGuessed)==False: print(('Sorry, you ran out of guesses. The word was '+str(secretWord)+'. ')) return None

S-ar putea să vă placă și