你想我猜
游戏。支持:
- 装载N个句子对
你猜我想
闯关,输出上半句,等待用户猜测下半句- 如果猜中就累加10分,否则扣2分
- 全部结束输出用户本次得分
class KeyValueSet:
"""
KeyValueSet
创建集合类
method :
set 存值
get 取值
keys 获取所有键值
"""
def __init__(self):
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()
class GuessSentenceGame:
"""
GuessSentenceGame
setup 装载数据
guess 逻辑判断
run 执行
"""
def __init__(self):
self.kv = KeyValueSet()
self.score = 0
def setup(self, sentences: list):
for item in sentences:
self.kv.set(item.split(" ", 1)[0], item.split(" ", 1)[1])
def guess(self, data:list):
re_value=self.kv.get(data[1])
if re_value == data[0]:
return 0, re_value
else:
return 1,re_value
def run(self):
self.score = 0
for first_word in self.kv.keys():
ret = input("猜一猜下半句是什么? {} -> :".format(first_word))
data = ret, first_word
err, value = self.guess(data)
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"
]
ins = GuessSentenceGame()
ins.setup(sentences=sentences)
ins.run()