您的位置:首页 > 编程语言 > Python开发

猜单词游戏(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

谢谢参与,欢迎下次再玩!

代码获取

参考资料:

  • 点赞
  • 收藏
  • 分享
  • 文章举报
索儿呀 发布了156 篇原创文章 · 获赞 432 · 访问量 21万+ 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: