写一个简单的猜单词游戏代码Python
时间: 2024-05-01 19:17:42 浏览: 10
好的,以下是一个简单的猜单词游戏代码Python示例:
```python
import random
# 定义单词列表
WORDS = ['apple', 'orange', 'banana', 'pear', 'grape', 'peach']
# 随机选取一个单词
word = random.choice(WORDS)
# 初始化未猜中的字母列表
remaining_letters = list(word)
# 初始化猜测结果列表,同样长度的下划线
guesses = ['_' for _ in word]
# 定义猜测函数
def guess_letter():
# 输出未猜中的字母列表
print('Remaining letters:', ' '.join(remaining_letters))
# 输出当前猜测结果列表
print('Current guess:', ' '.join(guesses))
# 告知玩家剩余可猜测次数
print('You have', chances, 'chances left.')
# 获取玩家输入
letter = input('Guess a letter: ').lower()
# 检查是否为单个字母
if not letter.isalpha() or len(letter) != 1:
print('Please enter a single letter.')
return False
# 检查是否已经猜过该字母
if letter in remaining_letters:
remaining_letters.remove(letter)
else:
print('You already guessed that letter.')
return False
# 检查是否为正确的猜测
found = False
for i, c in enumerate(word):
if c == letter:
guesses[i] = letter
found = True
if not found:
print('Incorrect guess.')
return False
# 检查是否已经猜中所有字母
if '_' not in guesses:
print(word)
print('Congratulations, you win!')
return True
else:
return False
# 主循环
chances = 6
while chances > 0:
if guess_letter():
break
chances -= 1
# 游戏结束提示
if chances == 0:
print('You lose! The word was', word)
```
运行该代码后,将会得到如下游戏界面:
```
Remaining letters: o r a n g e
Current guess: _ _ _ _ _ _
You have 6 chances left.
Guess a letter: e
Remaining letters: o r a n g
Current guess: _ _ _ _ e _
You have 6 chances left.
Guess a letter: x
Remaining letters: o r a n g
Current guess: _ _ _ _ e _
You have 5 chances left.
Guess a letter: r
Remaining letters: o a n g
Current guess: _ _ r _ e _
You have 5 chances left.
Guess a letter: g
Remaining letters: o a n
Current guess: _ _ r _ e _
You have 5 chances left.
Guess a letter: p
Remaining letters: o a n
Current guess: _ _ r _ e _
You have 4 chances left.
Guess a letter: o
Remaining letters: a n
Current guess: _ _ r o e _
You have 4 chances left.
Guess a letter: n
Remaining letters: a
Current guess: _ _ r o n e
You have 4 chances left.
Guess a letter: a
You already guessed that letter.
Remaining letters: a
Current guess: _ _ r o n e
You have 4 chances left.
Guess a letter: q
Incorrect guess.
Remaining letters: a
Current guess: _ _ r o n e
You have 3 chances left.
Guess a letter: t
Incorrect guess.
Remaining letters: a
Current guess: _ _ r o n e
You have 2 chances left.
Guess a letter: y
Incorrect guess.
Remaining letters: a
Current guess: _ _ r o n e
You have 1 chances left.
Guess a letter: s
Incorrect guess.
You lose! The word was orange
```
在游戏中,玩家每次输入一个字母作为猜测,程序会告诉玩家剩余可猜测次数,并且经过判断,输出当前猜测结果,一直到猜中单词或者猜测次数用完结束。