猜單詞游戲
思路
-
一個words串列里存放若干的單詞,例如:
![["extends", "private", "static", "public"]](https://img.uj5u.com/2020/10/30/166264302117361.png)
-
在words串列里隨機取出一個單詞放進word串列,例如:

-
用一個tips串列存放提示資訊,長度跟隨機取出來的單詞長度相同,而且初始化如下圖:

-
一個串列放亂數,長度跟隨機取出來的單詞長度相同的,且不重復,

-
當用亂數串列里的前兩個元素,用word串列里的元素替換提示資訊串列的元素:

-
剩下就是游戲邏輯了,需要提示的時候,遍歷下一個亂數串列,然后替換資訊
直接上代碼:
import random
#初始化資訊↓↓↓↓↓↓↓
# 存放單詞的串列
words = ["extends", "private", "static", "public", "void", "return", "super","package","throws"]
#隨機獲取單詞串列里的一個單詞
word = list(words[random.randint(0, len(words) - 1)])
#亂數串列,存放著與單詞長度一致的亂數(不重復)
ranList = random.sample(range(0, len(word)), len(word))
#存放提示資訊
tips = list()
#初始化提示資訊
#存放跟單詞長度一致的下劃線
for i in range(len(word)):
tips.append("_")
#隨機提示兩個字母
tips[ranList[0]] = word[ranList[0]]
tips[ranList[1]] = word[ranList[1]]
#函式部分↓↓↓↓↓
#展示選單
def showMenu():
print("需要提示請輸入'help?'")
print("結束游戲請輸入'quit!'")
#顯示提示資訊
def showtips():
for i in tips:
print(i, end=" ")
print()
#需要提示
def needTips(tipsSize):
#至少有兩個未知字母
if tipsSize <= len(word)-3:
tips[ranList[tipsSize]] = word[ranList[tipsSize]]
tipsSize += 1
return tipsSize
else:
print("已沒有提示!")
#主要運行函式↓↓↓↓↓↓
def init():
print("------java關鍵字版本-------")
tipsSize = 2
showMenu()
while True:
print("提示:",end="")
showtips()
guessWord = input("猜一下這個單詞:")
# <''.join(word)>把word串列的內容轉換成字串
if guessWord == ''.join(word):
print("恭喜你,猜對了!就是%s!"%(''.join(word)))
break
elif guessWord == 'help?':
tipsSize = needTips(tipsSize)
elif guessWord == 'quit!':
break
else:
print("猜錯了!")
continue
init()
運行結果:

點個贊支持一下叭!謝謝!
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/195777.html
標籤:其他
