老师下发了一个多步骤猜词游戏

游戏流程:给出了两个列表,分别存储8位单词和6-8位单词,分别代表不同的难度

用户首先需要选择难度,然后随机抽取一个单词作为securityword。

到这一步我都写出来了。但是我在用户进行猜S g V ] h ? |测的代码上非常困惑。

具体需求x A h | O如下:

用户需要进行8次猜测,第八次猜测输入完整单词。

每猜对一个元音及其位置正确给14分,每猜对一个辅音位置正确给12分,

猜对了字母但是位置错误的给5分。

eg: c r u s h i n g == security word

guess c r (后六位为空) ------------P { ? b H } =--- 12*2 = 24

guess (前四个为空)+ c a l s --------= o ) 4 5 f U W C-------- 0 (虽然 c 和 s 都在 crushing中,但是其位置对应的是hing,没有相同的字母,得分为k y T d . E { #0)

如果输入的字符长度超出security word,则提示长度错误,重新输入。

测试表:

实际代码运行界面:

求大佬教教这个该怎么写呀。

回答

代码:

import random

words=['crushing'] #目标词

yy='aeiou' #元音字母

def Cal(inpt,tar,loc5 D 7 a U):C 2 R d ( + J I #计算得分

point=0 #初始化总分0

for i in range(loc[1]-loc[0]+1): #循环猜测位数次

k=i+loc[0] #生成目标词z V X M + * 7的对应位置

if inpt[i]==tar[k]: #如L L . p I果猜测的某一位正确

if inpt[i] in yy: #如果是元音字母

point+=14 #加14分

else: #如果是辅音字母

point+=12 #加12分

elif| a n inpt[i] in tar[loc[0]:loc[1]+1]: #如果位置错误但是有该字母

point+=5 #加5分

return point #返回总分数

def GuessN(n,tar): #第n次猜测

loc=[(0,1),(1,3),(4,7),(3,5),(3,6),(5,7),(2,7),m 7 p R h(0,7)] #每一次的猜测位置list

string=P b k [ W 5 * r u'Guess '+str(n+1)+'|' #生成Guess x 字符串

for j in rana L + q 3 *ge(8): #8次循环

if jd = Z>=loc[n][0] and j<=loc[n][1]: #如果该位置是猜测位

string+=' * |' #该位添加*

else: #否则

string+=' - |' #该位添加-

print(string) #打印Gu) ! |ess x| * | * |……f M + C ; o P [ g

print('-------------------------------------')

while 1: #死循环 用于猜测输入是否正确

inpt=inputE X ? r } # s .('Now enter Guess '+stD N ( 0 X J P J (r(n+1)+':') #获得输入

if len(inpt)==loc[n][1]-loc[n][0]+1: #如果输入位数正确

break #跳出循环

points=Cal(inpt,tar,loF N q v + bc[n]) #调用计算得分

print('%d Points' % points) #输出得分

if points==100: #如果100分

print('You winc % C ~ = @') #则输出You win

def Guess(): #主函数

tar=words| _ { 0 c 5 ! T ;[random.randint(0,len(words)Q P - G E Q-1)] #随机L + 5 F y挑选目标词(本例只有一个)

prd | O p cint('Now try and guess the word, step by step!!')

print(' | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |')

print('--------------------------E O # a p + 1-----------')

for i in range(8): #循环84 h M * 0 | M e =次输入

GuessN(i,tar) #进行单次猜测

Guess() #调用主函数

效果:

python猜词游戏演讲ppt_Python 猜词游戏–多步骤猜词+评分系统相关推荐

  1. python猜词游戏演讲ppt_Python文本游戏之根据提示猜词

    之前IoT前哨站上发布了"Python写文本冒险游戏的要点"和"在文本冒险游戏中加入道具",讲的都是冒险类游戏. 那猜谜类型的文本游戏大家知道怎么做吗? 比如经 ...

  2. 猜成语游戏c语言代码,拼音首字母猜词语游戏 快乐大本营的一个游戏,给了些拼音的首字母,然后组词,让方块移到对面,这个游戏叫什么名字?...

    快乐大本营的一个游戏,给了些拼音的首字母,然后组词,让方块移到对面,这个游戏叫什么名字? 游戏名字叫'天才笨笨碰'游戏规则两人同时坐在椅子上(椅子会喷气.翻倒和摇晃),随机给出4个活动声母和一个固定声 ...

  3. 猜数字游戏python程序_Python猜数游戏,程序随机生成一个0-100的数,猜对后退出【实例源码】...

    Python猜数字游戏: 写程序,随机生成一个0~100之间的数用变量x绑定 循环让用户输入一个数用y绑定, 输出猜数字的结果 1. 如果y等于生成的数x,则提示"您猜对了", 打 ...

  4. Python【小游戏合集】之自行开发一个猜数字游戏~

    导语: 我们时常在电视台看到一些节目,这些节目,会展示一个商品,然后由嘉宾猜价格.嘉宾每猜一次价格,主持人会告诉嘉宾,高了,还是低了.然后嘉宾根据主持人提示,调整报价,直到最后答对.今天这期小编就向大 ...

  5. Java黑皮书课后题第3章:3.14(游戏:猜硬币的正反面)编写程序,让用户猜一猜是硬币的正面还是反面。随即产生一个整数0或1,分别表示

    3.14(游戏:猜硬币的正反面)编写程序,让用户猜一猜是硬币的正面还是反面 题目 题目概述 破题 代码 题目 题目概述 3.14(游戏:猜硬币的正反面)编写程序,让用户猜一猜是硬币的正面还是反面 随即 ...

  6. java 文曲星猜数字,「3D跨度表」文曲星中的猜数字游戏,要猜一个四位数,有什么通用公式?...

    大家好,本文问题是「3D跨度表」文曲星中的猜数字游戏,要猜一个四位数,有什么通用公式?,由专家五湖彩解答.下面是具体回答内容: 算法:主来要是复杂的逻辑判断.基自本的想法是先在六bai步里判断出是哪d ...

  7. python jieba库分词_Python基于jieba库进行简单分词及词云功能实现方法

    本文实例讲述了Python基于jieba库进行简单分词及词云功能实现方法.分享给大家供大家参考,具体如下: 目标: 1.导入一个文本文件 2.使用jieba对文本进行分词 3.使用wordcloud包 ...

  8. python爬歌词生成词云图_Python爬虫摇滚网易云音乐歌词生成词云图

    我相信经过前三篇文章,大家已经学会了怎么下载歌词和歌曲了.看了我的文章后开始行动起来的应该都享受到音乐的福利了.问一个问题,当你疲惫时,你想提起精神来去工作或者看书,你会选择听什么歌曲让自己兴奋起来呢 ...

  9. 猜数字(Bulls and Cows)游戏

    你正在和你的朋友玩 猜数字(Bulls and Cows)游戏:你写下一个数字让你的朋友猜.每次他猜测后,你给他一个提示,告诉他有多少位数字和确切位置都猜对了(称为"Bulls", ...

  10. 【查找】临近省赛,Alan邀请emoji玩起了猜数字游戏活跃一下大脑。游戏规则如下:首先Alan写下几个数字让emoji猜,当emoji猜完之后,Alan会给他一个提示(java)

    临近省赛,Alan邀请emoji大佬玩起了猜数字游戏活跃一下大脑.游戏规则如下: 首先Alan写下几个数字让emoji大佬猜,当emoji大佬猜完之后,Alan会给他一个提示,这个提示包含两部分:全对 ...

最新文章

  1. 亿级PV,常见性能优化策略总结与真实案例
  2. 华为swot分析2020_2020华为音频产品汇总分析,完善产品质量,丰富产品线
  3. c++实现简单线程池代码
  4. add script param in pycharm
  5. jms两种模式例子-超越昨天的自己系列(2)
  6. SONiC镜像编译指南(转,参考1)
  7. BZOJ3309 DZY Loves Math
  8. JavaWeb项目实战一(Servlet+Jsp项目项目搭建及登录界面)
  9. 把Spring boot jar作为Windows服务运行
  10. ubuntu下配置IP地址
  11. Docker1.1 虚拟化
  12. Glide 加载webp动图实战(解决图片每帧间隔过长,动图单次播放,二次播放动图时首帧是动图最后一帧的问题)
  13. conda创建环境并下载d2l软件包
  14. [企业微信通知系列]Jenkins发布后自动通知
  15. Pinger为iOS版textfree增加语音邮件功能
  16. Altium Designer--如何制作过孔(Via)库
  17. 中国电信天翼开放平台应用内计费SDK助力IP产业升级
  18. 坚持,一种可以养成的习惯
  19. HTML标签大全,存起来总有一天用的上
  20. 微型计算机原理及应用 考研,中山大学《微型计算机系统原理及应用》考研模拟题两套及答案.pdf...

热门文章

  1. UCT树用于四子棋对抗实验
  2. 关于Bundle Adjustment的直观理解
  3. java-数组_length 字符串_length() 集合_size()的区别
  4. Android开发神器总结
  5. Prometheus常用函数
  6. Day434.订单库存服务分布式事务的最终解决 -谷粒商城
  7. C# 微信支付请求分账
  8. 计算机蓝牙功能,笔记本电脑蓝牙在哪里?笔记本怎么打开蓝牙功能Bluetooth
  9. OpenWrt MT7621使用pyinstaller打包失败解决办法
  10. 纯 html 以及 js 多域名跳转