猜单词游戏

 

  • 案例目的

本章案例研究,通过一个简单的游戏案例,帮助读者使用数据结构和算法,实现基本的游戏人工智能,从而加深了解Python数据结构和基本算法流程。

  • 案例内容

猜单词游戏使用元组或列表构建待猜测的英文单词列表WORDS,使用random模块的choice()函数,从单词的元组中随机抽取一个英文单词word,然后把该英文单词的字母乱序排列,方法是每次随机抽取一个位置的字符,放入乱序的jumble字符串中,并从原word中删除该字符。

  • 实验环境

Pycharm、Anaconda、Visio

  • 案例研究

3.1 猜单词游戏框架

    游戏一开始先显示乱序后的字符串jumble,并提示用户输入猜测的结果,如果错误将提示继续输入,直到输入正确。猜对之后,可以询问是否继续游戏,游戏也可以通过CTRL加C组合键强制中断运行。

# 时间 2022-04-05  
# 作者 JohnRothan  
# 题目信息 猜单词游戏  
# 解题思路 请看注释说明  
  
#导入random  
import random  
# 建立词库  
WORDS = ['international','trade','policy','negotiation','Philippines','Department','Industry']  
# 继续游戏标志isGo  
isGo = "yes"  
# 游戏主体,进入条件isGo=yes  
while isGo in ("yes", "y","Y"):  
    # 随机从词库选择单词  
    word = random.choice(WORDS)  
    # 保存正确答案  
    answer = word  
    # 打断单词,存入jumble  
    jumble = ""  
    for i in word:  
        position = random.randrange(len(word))  
        jumble += word[position]  
        word = word[:position]+word[(position+1):]  
    print("乱序单词:",jumble)  
    guess = input("输入猜测:")  
    # 猜测错误,持续猜测  
    while guess != answer:  
        guess = input("错误,再次猜测:")  
    print("猜测正确!")  
    # 是否继续游戏  
    isGo = input("是否继续(yes/no)?")  
    # 非法输入提示  
    while isGo not in ("no","N","n","NO","No","yes","y","Y","Yes","YES"):  
        print("非法输入,重新输入你的选择!")  
        isGo = input("是否继续(yes/no)?")  
#游戏结束  
print("本次游戏结束!") 

3.2 测试结果与流程图

3.2.1 测试结果

图 1 测试结果

3.2.2 猜单词游戏流程

图 2 猜单词游戏流程图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哈士奇谭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值