guess.py 1.0 KB
Newer Older
骆昊的技术专栏's avatar
骆昊的技术专栏 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
"""

面向对象版本的猜数字游戏

Version: 0.1
Author: 骆昊
Date: 2018-03-08

"""

from random import randint


class GuessMachine(object):

	def __init__(self):
		self._answer = None
		self._counter = None
		self._hint = None

	def reset(self):
		self._answer = randint(1, 100)
		self._counter = 0
		self._hint = None

	def guess(self, your_answer):
		self._counter += 1
		if your_answer > self._answer:
			self._hint = '小一点'
		elif your_answer < self._answer:
			self._hint = '大一点'
		else:
			self._hint = '恭喜你猜对了'
			return True
		return False

	@property
	def counter(self):
		return self._counter

	@property
	def hint(self):
		return self._hint


if __name__ == '__main__':
	gm = GuessMachine()
	play_again = True
	while play_again:
		game_over = False
		gm.reset()
		while not game_over:
			your_answer = int(input('请输入: '))
			game_over = gm.guess(your_answer)
			print(gm.hint)
		if gm.counter > 7:
			print('智商余额不足!')
		play_again = input('再玩一次?(yes|no)') == 'yes'