purpleiris 发表于 2019-7-29 11:52:21

为什么要给guess 赋值为0呢?

小甲鱼讲义上的:
import random
times = 3
secret = random.randint(1,10)
print('------小甲鱼工作室------')
guess = 0      
print('不妨猜一下小甲鱼心里想的是哪个数字:', end = '')
while (guess != secret) and (times > 0):
    temp = input()
    guess = int(temp)
    times = times - 1
    if guess == secret:
      print('卧槽,你是小甲鱼心里的蛔虫吗?')
      print('哼,猜中了也没有奖励!')
    else:
      if guess > secret:
            print('大了,大了!!')
      else:
            print('小啦,小啦~~')
      if times > 0:
            print('再试一次吧:', end = "")
      else:
            print('机会用光咯( ╯□╰ )')
print('游戏结束,不玩啦~')


我的问题是:为什么要给guess 赋值为0呢,既然后面又给它赋值为 int(temp)后就取代了0,所以赋值为0其实没有意义吧?
不太懂,请大神指教。

zltzlt 发表于 2019-7-29 12:13:35

先给 guess 赋一个初始值 0, 而 secret 这个变量是 random.randint(1,10),不可能为0,所以第一次判断(guess != secret)必然会失败。这样做是为了先进入 while 循环,然后再询问用户。

MMM啊 发表于 2019-7-29 12:19:59

你也可以让guess等于用户输入的数字直接判断

purpleiris 发表于 2019-7-29 13:54:10

zltzlt 发表于 2019-7-29 12:13
先给 guess 赋一个初始值 0, 而 secret 这个变量是 random.randint(1,10),不可能为0,所以第一次判断(gu ...

谢谢你哦    虽然没有太懂   ( ╯□╰ )   一点代码基础都没有   好难哦

purpleiris 发表于 2019-7-29 13:54:50

MMM啊 发表于 2019-7-29 12:19
你也可以让guess等于用户输入的数字直接判断

好的,谢谢你的回复啊

MMM啊 发表于 2019-7-29 16:25:39

purpleiris 发表于 2019-7-29 13:54
好的,谢谢你的回复啊

希望对你理解有所帮助

XiaoPaiShen 发表于 2019-7-31 00:05:54

不先给guess赋初值,就不能在循环的条件中使用guess与secret比较
while (guess != secret) and (times > 0):

浪丶羁绊彡 发表于 2019-8-2 10:25:45

也可以先赋值其他值,只要不是1-10都行,是为了能够进入while循环体啦

回忆浅离 发表于 2019-8-2 15:13:05

为了能进while循环,否则无法知道guess的类型

zltzlt 发表于 2019-10-5 16:14:56

@不二如是

heidern0612 发表于 2019-10-5 21:05:44

不先给guess赋值的话,后面没法直接调用while进行赋值判断。

1375488858 发表于 2019-10-6 09:01:19

你可以把guess=0删去,然后运行一下,会发现报错----(找不到变量guess),而你给guess赋一个绝不等于secret的值就可以进入循环了.
页: [1]
查看完整版本: 为什么要给guess 赋值为0呢?