如何利用python制作一个猜字游戏
Admin 2022-09-16 群英技术资讯 475 次浏览
一、游戏规则
请你使用类 KeyValueSet 完成一个交互式命令行你想我猜游戏。支持:
我们编写一个新的class,内部通过组合KeyValueSet来支持上述功能,程序框架如下:
# -*- coding: UTF-8 -*- class GuessSentenceGame: def __init__(self): self.kv = KeyValueSet() self.score = 0 def setup(self, sentences): # TODO(You): 请在此编写装载逻辑 def guess(self, first_word): # TODO(You): 请在此编写猜测结果,返回 err, value def run(self): self.score = 0 for first_word in self.kv.keys(): ret = input("猜一猜下半句是什么? {} -> :".format(first_word)) err, value = self.guess(first_word) if err==0: print('你太厉害了,这都能猜得到!+10分!') self.score += 10 else: self.score -= 2 print('哈哈,肯定猜不到得啦:{}->{},扣除2分!'.format(first_word, value)) print('游戏结束,你本次游戏得分:', self.score) if __name__ == '__main__': sentences = [ "hello world", 'monkey king', 'tomorrow is another day', "good bye" ] game = GuessSentenceGame() game.setup(sentences) game.run()
一个示例输出是:
猜一猜下半句是什么? hello -> :world
你太厉害了,这都能猜得到!+10分!
猜一猜下半句是什么? monkey -> :king
你太厉害了,这都能猜得到!+10分!
猜一猜下半句是什么? tomorrow -> :is another day
你太厉害了,这都能猜得到!+10分!
猜一猜下半句是什么? good -> :a
哈哈,肯定猜不到得啦:good->bye,扣除2分!
游戏结束,你本次游戏得分: 28
代码:
# -*- coding: UTF-8 -*- class KeyValueSet: def __init__(self) -> None: self.dict = {} def set(self, key, value): self.dict[key] = value def get(self, key): return self.dict.get(key) def keys(self): return self.dict.keys() # -*- coding: UTF-8 -*- class GuessSentenceGame: def __init__(self): self.kv = KeyValueSet() self.score = 0 #获取按空格截取的上下句 def setup(self, sentences): for sentence in sentences: cut_pos = sentence.find(' ') first_word, rest = sentence[0:cut_pos], sentence[cut_pos + 1:].strip() self.kv.set(first_word, rest) #根据上句返回对应的值,这是原逻辑返回了一个状态码和下句值,但逻辑存在问题,状态码是恒等于0的因此我们比较输入值与返回默认下句是否一致即可 def guess(self, first_word): value = self.kv.get(first_word)# err = 0 if value else 1 #print(err, value) return err, value def run(self): self.score = 0 for first_word in self.kv.keys(): ret = input("猜一猜下半句是什么? {} -> :".format(first_word)) err, value = self.guess(first_word) if value==ret:#比较输入值与返回默认下句是否一致即可 print('你太厉害了,这都能猜得到!+10分!') self.score += 10 else: self.score -= 2 print('哈哈,肯定猜不到得啦:{}->{},扣除2分!'.format(first_word, value)) print('游戏结束,你本次游戏得分:', self.score) if __name__ == '__main__': sentences = [ "他们叫我 技术总监", 'hello world', 'monkey king', 'tomorrow is another day', 'good bye', "谢谢 大家" ] game = GuessSentenceGame() game.setup(sentences) game.run()
效果图:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本篇文章给大家带来了关于Python的相关知识,logging是Python标准库中记录常用的记录日志库,通过logging模块存储各种格式的日志,主要用于输出运行日志,可以设置输出日志的等级、日志保
这篇文章主要为大家介绍了Python的字典,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
这是一个Python脚本,能够批量地将微软Powerpoint文件( ppt或者 pptx)转换为pdf格式。使用说明1、将这个脚本跟PPT文件放置在同一个文件夹
这篇文章主要介绍了numpy 函数里面的axis参数的含义,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
这篇文章主要介绍了python 按照sheet合并多个Excel的示例代码(多个sheet),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008