猜单词游戏(Python案例研究五)
2020-03-31 18:32
1131 查看
欢迎参加猜单词游戏! 请把乱序后的字母组成一个单词 乱序后的单词: odticnraiy 请输入您猜测的结果:dictionary 恭喜您,猜对了! 是否继续(Y/N)?N 谢谢参与,欢迎下次再玩!
文章目录
猜单词游戏概述
猜单词游戏是一种简单的游戏,
计算机从指定单词列表中抽取一个单词,通过算法,把单词的字母顺序打乱,然后输出给玩家猜测。
玩家根据乱序的字母,组合猜测输入正确的单词。计算机确定是否猜测正确。
设计思路
- 使用元组或列表构建待猜测的英文单词库列表WORDS,使用random模块的choice函数从单词的元组中随机抽取一个英文单词word。
# 建立英文单词库,以元组的形式表示 WORDS = ['apple', 'pear', 'banana', 'cherry', 'good', 'better', 'best', 'python',\ 'while', 'tuple', 'dictionary', 'jumble', 'difficult', 'aesthetic', 'stereotype', \ 'civilization', 'anniversary'] # 随机挑选一个单词 word = random.choice(WORDS)
- 然后把该英文单词的字母乱序排列
方法:每次随机抽取一个位置的字符放入乱序的jumble字符串中,并从原word中删除该字符
jumble = "" for i in word: # 随机抽取一个位置的字符放入乱序jumble中,并从原word中删除该字符 position = random.randrange(len(word)) jumble += word[position] word = word[:position] + word[(position+1):]
游戏一开始先显示乱序后的字符串jumble(语义化:混乱),并提示用户输入猜测的结果,如果错误,提示继续输入,直至输入正确。猜对之后,可以询问是否继续游戏。游戏也可以通过Ctr1+C强制中断运行。
读者也可以扩展程序,例如从文件中读入单词列表,记录游戏玩家的得分情况等。
random模块的函数使用
- random.choice(seq)
参数:seq 可以是一个列表,元组或字符串。
返回值:返回随机项。 - random.randrange([start,] stop [,step]) 返回指定递增基数集合中的一个随机数
范围:[start, stop),区间是左闭右开的(左边是包含的,右边是不包含的)
step 指定递增基数,基数默认值为1。
代码实现
word-guess.py
import random # 建立英文单词库,以元组的形式表示 WORDS = ['apple', 'pear', 'banana', 'cherry', 'good', 'better', 'best', 'python',\ 'while', 'tuple', 'dictionary', 'jumble', 'difficult', 'aesthetic', 'stereotype', \ 'civilization', 'anniversary'] print("欢迎参加猜单词游戏!\n请把乱序后的字母组成一个单词\n") isContinue = "Y" while isContinue in ("Y", "y"): # 随机挑选一个单词 word = random.choice(WORDS) answer = word # 将选出的单词进行乱序 jumble = "" for i in word: # 随机抽取一个位置的字符放入乱序jumble中,并从原word中删除该字符 position = random.randrange(len(word)) jumble += word[position] word = word[:position] + word[(position+1):]print("乱序后的单词:", jumble) guess = input("\n请输入您猜测的结果:") while guess != answer: guess = input("\n结果不对,请重新猜测:") print("\n恭喜您,猜对了!") # 询问是否重复游戏 isContinue = input("\n是否继续(Y/N)?") print("\n谢谢参与,欢迎下次再玩!")
程序运行结果如下:
欢迎参加猜单词游戏! 请把乱序后的字母组成一个单词 乱序后的单词: odticnraiy 请输入您猜测的结果:dictionary 恭喜您,猜对了! 是否继续(Y/N)?N 谢谢参与,欢迎下次再玩!
代码获取
- 百度网盘文件夹:链接:https://pan.baidu.com/s/1MaEpPajf_-TjaZD8gne0hQ
提取码:nip8 - 百度网盘压缩包:链接:https://pan.baidu.com/s/19e_o62QFlBf5Y3ujZ5Oz9g
提取码:6ucr - github:https://github.com/Zhangguohao666/Python-case-study/tree/master/CS5
参考资料:
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 21点扑克牌游戏(Python案例研究六)
- python猜单词游戏
- Python学习笔记---案例研究
- python哈希算法——两个数的和、三个数的和、单词模式匹配、猜词游戏、神奇的词根实现实例
- Python游戏服务器开发日记(三)用greenlet模拟lua coroutine的研究
- 简易图形用户界面计算器(Python案例研究十二)
- python猜单词游戏
- Python游戏编程入门(有目录及案例图片)-通过简单游戏学习python
- 程序运行时间度量分析(Python案例研究十一)
- 案例研究:使用英特尔GPA优化《剑侠情缘三》游戏的性能
- Spark案例:Python版统计单词个数
- 基于模块的库存管理系统(Python案例研究十)
- 文本相似度比较分析(Python案例研究九)
- Python案例:猜数游戏
- 使用IDLE调试器调试Python程序(Python案例研究七)
- python案例:使用if语句实现一个猜拳游戏
- Python脚本进行游戏专区拉新方面的计算案例
- 【语言处理与Python】11.1语料库结构:一个案例研究\11.2语料库生命周期
- Python游戏引擎开发(六):动画的小小研究
- 利用python编写R语言案例研究方法中的定位算法(1)——原始数据处理