如何利用python制作一个猜字游戏
Admin 2022-09-16 群英技术资讯 303 次浏览
一、游戏规则
请你使用类 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实现渐变色水平堆叠图的具体代码,供大家参考,
本文给大家分享了作者整理的五个python游戏开发的案例,通过具体设计思路,代码等方面详细了解python游戏开发的过程,非常的详细,希望大家能够喜欢
这篇文章主要介绍了如何利用python将Xmind用例转为Excel用例,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
这篇文章主要介绍了通过Python实现一个简单的电影售票系统,文中的示例代码对我们学习Python有一定的帮助,感兴趣的小伙伴可以跟随小编一起学习一下
Python具有基本的文本文件读写功能。Python的标准库提供有更丰富的读写功能。文本文件的读写主要通过open()所构建的文件对象来实现。创建文
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008