本文实例为大家分享了python实现猜单词游戏的具体代码,供大家参考,具体内容如下
电脑根据单词列表随机生成一个单词,打印出这个单词长度个 ‘ _ ' ,玩家随机输入一个这个单词可能包含的英文字母,如果玩家猜对了,电脑则会在正确的空格处填写这个字母,如果没有猜对,游戏次数就减一。如果玩家在游戏次数减为零前猜对这个单词的所有字母,则玩家获胜,否则玩家输掉比赛。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
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,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 ( '你真棒,这个单词就是' + word + ',你赢了!' ) done = True else : wrongLetters = wrongLetters + guess chance = chance - 1 if chance = = 0 : display(word,wrongLetters,rightLetters,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猜单词游戏,作为补充,感谢原作者的分享。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
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:" ) |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/qq_39035741/article/details/77148372