根号1989 发表于 2017-10-16 08:15:05

零基础学Python第三讲的游戏改进是不是这样也满足要求

import random
times = 3
secret = random.randint(1,9)
print("--------------我是初学根号----------------")
temp = input("猜下小甲鱼心里想的数字:")
guess = int(temp)
if guess == secret:
    print("我曹,你是小甲鱼心里的蛔虫吗")
    print("哼,猜中也没有奖励")
while guess != secret and times > 1:
    if guess > secret:
      print("哥,大了大了")
    else:
      print("嘿,小了小了")
    temp = input("哎呀,猜错了,请重新猜:")
    guess = int(temp)
    times = times -1
    if guess == secret:
      print("我曹,你是小甲鱼心里的蛔虫吗")
      print("哼,猜中也没有奖励")
print("游戏结束")

BngThea 发表于 2017-10-16 09:17:26

while判断中times应该大于0否则只能猜两次

根号1989 发表于 2017-10-16 11:56:11

BngThea 发表于 2017-10-16 09:17
while判断中times应该大于0否则只能猜两次

我运行后,这样可以猜三次,大于0可以猜4次,我试过是这样

书虫520 发表于 2017-10-18 11:58:48

嗯!这样也可以呀!不错啦!嘿嘿!

bing_home 发表于 2017-10-30 16:08:06

好像循环外还有一次,所以time大于0循环3次,但是猜了4次,而time大于1循环2次但是猜了三次

根号1989 发表于 2017-10-31 20:19:27

bing_home 发表于 2017-10-30 16:08
好像循环外还有一次,所以time大于0循环3次,但是猜了4次,而time大于1循环2次但是猜了三次

恩,总共只能猜三次的话,time得大于1

mj79123 发表于 2017-11-4 16:25:46

楼上的都是零基础吗?感觉你们都挺厉害的

根号1989 发表于 2017-11-19 10:46:05

学习后面的改进这个游戏的课程后,回顾
这个感觉还是跟小甲鱼老师视频讲的不符,就是第三次猜错了,不会提示是大了还是小了,直接报结束,小甲鱼老师运行结果:不妨猜一下小甲鱼现在心里想的是哪个数字: 10
哥,大了大了~~~
再试一次吧: 1
嘿,小了,小了~~~
再试一次吧: 2
嘿,小了,小了~~~
机会用光咯T_T
游戏结束,不玩啦^_^
而这个程序是:
--------------我是初学根号----------------
猜下小甲鱼心里想的数字:10
哥,大了大了
哎呀,猜错了,请重新猜:1
嘿,小了小了
哎呀,猜错了,请重新猜:2
(这里缺少提示是大了还是小了)
游戏结束

什么原因呢,搞不懂啊

丶逗比 发表于 2018-1-23 16:54:39

根号1989 发表于 2017-11-19 10:46
学习后面的改进这个游戏的课程后,回顾
这个感觉还是跟小甲鱼老师视频讲的不符,就是第三次猜错了,不会提 ...

当你输入第三次2的时候,这是你的times是要减1的,再返回while的时候对应的times是1了,不满足while后面的times>1的条件了,要跳出循环,不执行while循环了,直接打印最后面的。应该是这样,我也是萌新
页: [1]
查看完整版本: 零基础学Python第三讲的游戏改进是不是这样也满足要求