1. 程式人生 > 程式設計 >python實現簡單猜單詞遊戲

python實現簡單猜單詞遊戲

本文例項為大家分享了python實現猜單詞遊戲的具體程式碼,供大家參考,具體內容如下

電腦根據單詞列表隨機生成一個單詞,打印出這個單詞長度個 ‘ _ ' ,玩家隨機輸入一個這個單詞可能包含的英文字母,如果玩家猜對了,電腦則會在正確的空格處填寫這個字母,如果沒有猜對,遊戲次數就減一。如果玩家在遊戲次數減為零前猜對這個單詞的所有字母,則玩家獲勝,否則玩家輸掉比賽。

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}次機會'.format(chance).center(40,'-'))
 print('已經猜錯的字母:'+ 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()
 
#從玩家的輸入得到一個猜測的字母
def getLetter(alreadyGuessed):
 while True:
  print('請輸入一個可能的字母:')
  guess = input()
  guess = guess.lower()
  if guess[0] in alreadyGuessed:
   print('你已經猜過這個字母了!')
  elif guess[0] not in 'qwertyuiopasdfghjklzxcvbnm':
   print('請輸入一個英文字母!(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次機會
done = False
 
while True:
 display(word,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('你真棒,這個單詞就是'+ word +',你贏了!')
   done = True
 else:
   wrongLetters = wrongLetters + guess
   chance = chance - 1
   if chance == 0:
    display(word,chance)
    print("你已經沒有機會了!你一共猜錯了"+str(len((wrongLetters))+"次,猜對了"+str(len(rightLetters))+"次,正確的單詞是:"+ word)
    done = True
 if done:
  if playAgain():
   wrongLetters = ''
   rightletters = ''
   word = getWord(words)
   chance = 6 #初始為6次機會
   done = 0
  else:
   break

再為大家提供一段程式碼:python猜單詞遊戲,作為補充,感謝原作者的分享。

import random
WORDS = ("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單詞下標為pos的字母去掉,取pos前面和後面的字母組成新的word
    word = word[:pos]+word[(pos+1):] #保證隨機字母出現不會重複
  print("你要猜測的單詞為:",newword)
  guess = input("請輸入你的答案:")
  count=1
  while count<5:
    if guess!=correct:
      guess = input("輸入的單詞錯誤,請重新輸入:")
      count+=1
    else :
      print("輸入的單詞正確,正確單詞為:",correct)
      break
  if count == 5:
    print("您已猜錯5次,正確的單詞為:",correct)
 
  right = input("是否繼續,Y/N:")

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。