python實(shí)現(xiàn)簡(jiǎn)單猜單詞游戲
本文實(shí)例為大家分享了python實(shí)現(xiàn)猜單詞游戲的具體代碼,供大家參考,具體內(nèi)容如下
電腦根據(jù)單詞列表隨機(jī)生成一個(gè)單詞,打印出這個(gè)單詞長(zhǎng)度個(gè) ‘ _ ’ ,玩家隨機(jī)輸入一個(gè)這個(gè)單詞可能包含的英文字母,如果玩家猜對(duì)了,電腦則會(huì)在正確的空格處填寫這個(gè)字母,如果沒有猜對(duì),游戲次數(shù)就減一。如果玩家在游戲次數(shù)減為零前猜對(duì)這個(gè)單詞的所有字母,則玩家獲勝,否則玩家輸?shù)舯荣悺?/p>
from random import*words = ’tiger lion wolf elephant zebra ducksheep rabbit mouse’.split() #得到要猜的神秘單詞def getWord(wordList): n = randint(0,len(wordList)-1) return wordList[n] #游戲界面def display(word,wrongLetters,rightLetters,chance): print(’你還有{:n}次機(jī)會(huì)’.format(chance).center(40,’-’)) print(’已經(jīng)猜錯(cuò)的字母:’+ wrongLetters) print() blanks = ’_’*len(word) for i in range(len(word)): if word[i] in rightLetters: blanks = blanks[:i] + word[i] +blanks[i+1:] for i in blanks: print(i+’ ’,end=’’) print() print() #從玩家的輸入得到一個(gè)猜測(cè)的字母def getLetter(alreadyGuessed): while True: print(’請(qǐng)輸入一個(gè)可能的字母:’) guess = input() guess = guess.lower() if guess[0] in alreadyGuessed: print(’你已經(jīng)猜過這個(gè)字母了!’) elif guess[0] not in ’qwertyuiopasdfghjklzxcvbnm’: print(’請(qǐng)輸入一個(gè)英文字母!(a-z)’) else: return guess[0] #是否再玩一次def playAgain(): print(’是否在玩一次?(y/n)’) s = input() s = s.lower() if s[0] == ’y’: return 1 return 0 #游戲初始化wrongLetters = ’’rightLetters = ’’word = getWord(words)chance = 6 #初始為6次機(jī)會(huì)done = False while True: display(word,wrongLetters,rightLetters,chance) guess = getLetter(wrongLetters+rightLetters) if guess in word: rightLetters = rightLetters+ guess foundAll = True for i in range(len(word)): if word[i] not in rightLetters: foundAll = False break if foundAll: print(’你真棒,這個(gè)單詞就是’+ word +’,你贏了!’) done = True else: wrongLetters = wrongLetters + guess chance = chance - 1 if chance == 0: display(word,wrongLetters,rightLetters,chance) print('你已經(jīng)沒有機(jī)會(huì)了!你一共猜錯(cuò)了'+str(len((wrongLetters))+'次,猜對(duì)了'+str(len(rightLetters))+'次,正確的單詞是:'+ word) done = True if done: if playAgain(): wrongLetters = ’’ rightletters = ’’ word = getWord(words) chance = 6 #初始為6次機(jī)會(huì) done = 0 else: break
再為大家提供一段代碼:python猜單詞游戲,作為補(bǔ)充,感謝原作者的分享。
import randomWORDS = ('math','english','china','history')right = ’Y’print('歡迎參加猜單詞游戲!') while right==’Y’ or right==’y’: word=random.choice(WORDS) correct=word newword = ’’ while word: pos=random.randrange(len(word)) newword+=word[pos] #將word單詞下標(biāo)為pos的字母去掉,取pos前面和后面的字母組成新的word word = word[:pos]+word[(pos+1):] #保證隨機(jī)字母出現(xiàn)不會(huì)重復(fù) print('你要猜測(cè)的單詞為:',newword) guess = input('請(qǐng)輸入你的答案:') count=1 while count<5: if guess!=correct: guess = input('輸入的單詞錯(cuò)誤,請(qǐng)重新輸入:') count+=1 else : print('輸入的單詞正確,正確單詞為:',correct) break if count == 5: print('您已猜錯(cuò)5次,正確的單詞為:',correct) right = input('是否繼續(xù),Y/N:')
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP和PHP文件操作速度的對(duì)比2. ASP基礎(chǔ)入門第二篇(ASP基礎(chǔ)知識(shí))3. jsp實(shí)現(xiàn)局部刷新頁面、異步加載頁面的方法4. ASP.NET MVC實(shí)現(xiàn)登錄后跳轉(zhuǎn)到原界面5. asp文件如何打開6. ASP.NET MVC使用JSAjaxFileUploader插件實(shí)現(xiàn)單文件上傳7. 怎樣打開XML文件?xml文件如何打開?8. JSP出現(xiàn)中文亂碼問題解決方法詳解9. jsp實(shí)現(xiàn)簡(jiǎn)單用戶7天內(nèi)免登錄10. Spring依賴注入的三種方式實(shí)例詳解
