1、题目
设计一个猜数字的游戏,系统随机生成一个1~100之间的整数,每猜一次系统就会提示玩家该数字是偏大还是偏小,如果猜中了,则告知玩家并提前结束游戏。
2、思路
用面向对象的编程方式来实现,把问题抽象化,这个游戏有3个属性,分别是随机数的取值范围,min和max,目标值 target,还有一个方法用于如何猜游戏,随着需求的变化,我们可以不断地加其他属性和方法。需要用到的知识点:
- 导入random包:生成随机数
- 循环:while…else
- 对异常进行处理:try…except
3、代码
import random
import math
class GuessGname:
def __init__(self,min,max):
self.max = max
self.min = min
self.target = random.randint(min, max)
def guess(self,num):
num = math.floor(float(num))
while(self.target !=num):
try:
num = int(input("输入一个数字:"))
except ValueError as e:
print("请输入有效数字")
continue
if(num==self.target):
print("好棒棒~猜中了!")
break
elif(num<=self.target):
print("你猜的数太小啦")
else:
print("你猜的数太大了")
if __name__ == '__main__':
print("猜数字游戏开始啦~")
game = GuessGname(1,100)
choice = 0
game.guess(choice)