最近在学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‘)
代码有点简陋,不过功能还是实现了!各位看官将就看吧!!
时间: 2024-10-07 22:11:04