本帖最后由 shaohan0228 于 2016-7-24 15:28 编辑
这个程序我是这样理解的
首先程序你在while循环外要求对guess进行比对和输入是没有意义的,这样的话相当于你实际上是猜了4次数字,而且在第一次猜测的过程中没有提示具体的大小指示,这就是为什么小甲鱼要提前输入一个不可能的数值
while循环内的temp应该是属于局部变量,在不停的被赋值。
这个是我最后根据要求修改的程序:
- import random #引入随机数模块
- secret = random.randint(1,10) #设置变化范围为1至10的正整数
- guess = 0
- #对guess赋值,设置guess为一个绝对不可能等于secret的数值,防止程序运行就猜对数字结束;
- #同时也不能让guess含有input语法,否则猜不对会直接跳入下一局而不会提示大小
- times = 3 #设置times的值为3
- while (guess != secret) and (times !=0): #只有当没有猜对且次数没有耗尽的时候才会继续
- times -= 1 #每循环一次,次数减去1,知道为0,while循环结束
- guess = int(input("猜吧,你的数字是多少:")) #guess开始进行赋值
- if guess == secret: #当猜对的时候,输出结果对了,并返回while一个false的结果,程序结束,直接打印最后一句
- print("我草,你竟然猜对了")
- #times = 0 #我多写了这一句,实际上不需要,当guess == secret 为true时即为guess !=secret为false,循环直接结束,打印最后一句
- else:
- if guess > secret:
- print("不好意思,猜错了,大了!")
- else:
- print("小了!小了!!")
- if times >0: #只有当结果不对时没程序运行到这一步,并且提醒还有机会
- print("再来一次吧!")
- else:
- print("你的机会没有了")
- print("游戏结束了,不玩了")
复制代码