您现在的位置是:网站首页> 编程资料编程资料
利用python实现你说我猜游戏的完整实例_python_
2023-05-26
421人已围观
简介 利用python实现你说我猜游戏的完整实例_python_
前言
五一参加python技能书的答疑,发现题目中的逻辑存在问题,对应的你说我猜游戏里面的都是恒相等的。就调试修正了对应的代码,分享给大家,供大家学习与娱乐。
一、游戏规则
请你使用类 KeyValueSet 完成一个交互式命令行你想我猜游戏。支持:
- 装载N个句子对
- 你猜我想 闯关,输出上半句,等待用户猜测下半句
- 如果猜中就累加10分,否则扣2分
- 全部结束输出用户本次得分
二、实现过程
1、基本框架
我们编写一个新的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
2、完整案例
代码:
# -*- 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()效果图:

三、总结
到此这篇关于利用python实现你说我猜游戏的文章就介绍到这了,更多相关python你说我猜游戏内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
您可能感兴趣的文章:
相关内容
- python人工智能tensorflow构建卷积神经网络CNN_python_
- python版单链表反转_python_
- python打印经典故事从前有座山的几种写法_python_
- python人工智能tensorflow构建循环神经网络RNN_python_
- Python利用shutil模块实现文件的裁剪与压缩_python_
- Python实现单链表中元素的反转_python_
- python神经网络使用tensorflow构建长短时记忆LSTM_python_
- python生成图片验证码的方法_python_
- 一文搞懂Python中的进程,线程和协程_python_
- python神经网络使用tensorflow实现自编码Autoencoder_python_
