这是一个简单有趣的猜单词游戏,通过随机打乱单词的顺序让用户猜出原始单词。这个项目适合初学者练习 Python 的基础知识,包括循环、条件判断、字符串操作和用户交互。游戏支持随时退出,并在每轮结束后允许用户选择是否继续。
简单步骤
- 引入模块:导入 random 模块,用于随机选择单词和打乱顺序。
- 准备单词列表:定义一个包含若干单词的列表,供程序随机选择。
- 随机单词与打乱顺序:
• 使用 random.choice() 随机选择单词。
• 使用 random.sample() 将单词的字母顺序打乱。 - 用户交互:
• 提示用户输入正确单词,判断输入是否正确。
• 支持随时输入 exit 退出游戏。 - 循环控制:
• 使用双层循环:外层控制每轮游戏的开始,内层处理当前单词的猜测。
• 每轮结束后询问用户是否继续游戏。 - 退出逻辑:当用户输入 exit 或选择不继续游戏时,程序退出。
实现代码
以下是完整的代码实现,带有详细注释和运行逻辑。
import random
def guess_word_game():
"""
猜单词游戏主函数
- 随机从单词列表中选取一个单词,并打乱字母顺序。
- 用户根据提示输入正确单词。
- 用户可以选择继续游戏或退出游戏。
"""
words = ["python", "computer", "science", "program", "coding"] # 单词列表
print("欢迎来到猜单词游戏!输入 'exit' 退出游戏。") # 游戏欢迎信息
while True: # 外层循环:控制每轮游戏的开始
word = random.choice(words) # 随机选择一个单词
lword = ''.join(random.sample(word, len(word))) # 打乱单词的字母顺序
print(f"打乱单词为:{lword}") # 提示打乱后的单词
while True: # 内层循环:处理用户猜测单词的逻辑
a = input("请输入正确单词:") # 提示用户输入答案
if a.lower() == "exit": # 用户输入 'exit' 时退出游戏
print("已退出")
return # 结束函数,退出游戏
if a.lower() == word: # 判断用户输入是否与正确单词匹配
print("回答正确")
break # 跳出当前内层循环,进入下一步
else:
print("回答错误,请再试一次!") # 提示错误,重新输入
while True: # 再次循环,询问用户是否继续游戏
yn = input("是否继续(y/n):").lower() # 接受用户输入,并转换为小写
if yn == "y": # 用户选择继续
break # 跳出询问循环,开始新一轮游戏
elif yn == "n": # 用户选择退出
print("已退出")
return # 结束函数,退出游戏
else:
print("输入无效,请重新输入。") # 提示用户输入格式错误
# 启动游戏
guess_word_game()
学习要点
通过实现这个项目,你将学会:
- 如何使用 random 模块生成随机数据。
- 如何处理用户输入并进行条件判断。
- 使用 while 循环实现多层逻辑控制。
- 添加友好的用户交互和退出机制。
游戏运行示例
- 游戏正常流程:
欢迎来到猜单词游戏!输入 'exit' 退出游戏。 打乱单词为:typhon 请输入正确单词:python 回答正确 是否继续(y/n):y
- 用户退出:
欢迎来到猜单词游戏!输入 'exit' 退出游戏。 打乱单词为:moeputcr 请输入正确单词:exit 已退出
- 用户错误输入:
欢迎来到猜单词游戏!输入 'exit' 退出游戏。 打乱单词为:ceesinc 请输入正确单词:cience 回答错误,请再试一次! 请输入正确单词:science 回答正确 是否继续(y/n):n 已退出
这样,不仅能学会这个项目,还能轻松根据步骤和注释写出类似的代码!
本文作者为wzzyhg,转载请注明。