如何利用python制作一个猜字游戏
Admin 2022-09-16 群英技术资讯 1128 次浏览
这篇文章将为大家详细讲解有关“如何利用python制作一个猜字游戏”的知识,下文有详细的介绍,小编觉得挺实用的,对大家学习或工作或许有帮助,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、游戏规则
请你使用类 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内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件,下文详细实现过程需要的小伙伴可以参考一下
这篇文章主要为大家介绍了python人工智能tensorflowtf优化器Optimizer算法汇总,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
这篇文章将带大家学习一下如何在PPT中插入表格与图片以及在表格中插入内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即 str() 或者 repr() 。区别与使用函数str() 用于将值转
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008