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)猜過(guò)這個(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. 詳解Python模塊化編程與裝飾器2. python web框架的總結(jié)3. Python使用shutil模塊實(shí)現(xiàn)文件拷貝4. Python實(shí)現(xiàn)迪杰斯特拉算法過(guò)程解析5. python使用ctypes庫(kù)調(diào)用DLL動(dòng)態(tài)鏈接庫(kù)6. Python字符串函數(shù)strip()原理及用法詳解7. Python基于pyjnius庫(kù)實(shí)現(xiàn)訪問(wèn)java類8. html小技巧之td,div標(biāo)簽里內(nèi)容不換行9. Python如何進(jìn)行時(shí)間處理10. python裝飾器三種裝飾模式的簡(jiǎn)單分析
