最近在学python,学到控制流程要写一个猜数字游戏。不经想起小时候三色台的一个综艺节目,里面也有个猜数字游戏,于是就想写个简单的自己玩玩也好。
规则:[0-100]随机生成一个数字,然后在猜数字,每叫一次数字都是出现一个区间,不断的缩小区间直到猜对正确数字。
刚开始写就想着用赋值的方法解决吧,可变量越来越多,头晕啊!冷静下,仔细想来,其实我要的结果就是区间的不断减小,这就没必要拘束在变量里面了,于是就用了list。list的排序,可变都有助于功能的实现,果然功能就简单的实现了。
import random
a = random.randint(0,100)
list1 = [0,100]
while True:
num =input('请输入0~100的数字:')
if num.isdigit():
num = int(num)
list2 = [0,num,100]
list2.sort()
if list2[0] < 0 or list2[2] > 100:
print('输入有误\n')
continue
if num == a:
print('猜对了,你真厉害!!')
break
elif num > a:
list1.append(num)
list1.sort()
print('该数字在',list1[0],'和',list1[1],'之间\n')
list1.pop()
else:
list1.append(num)
list1.sort()
print('该数字在',list1[1],'和',list1[2],'之间\n')
list1.pop(0)
else:
print ('输入有误\n')
代码有点简陋,不过功能还是实现了!各位看官将就看吧!!