djpp 发表于 2020-10-30 14:43:26

求助,guess = 0 是什么意思啊

请问 这里的guess = 0 是什么意思啊?《零基础学python》第五课里的:
import random

times = 3
secret = random.randint(1,10)

print('------------------我爱鱼C工作室------------------')
guess = 0
print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ")

while (guess != secret) and (times > 0):
    temp = input()
   
    if temp.isdigit():
      guess = int(temp)
      if guess == secret:
            print("我草,你是小甲鱼心里的蛔虫吗?!")
            print("哼,猜中了也没有奖励!")
      else:
            if guess > secret:
                print("哥,大了大了~~~")
            else:
                print("嘿,小了,小了~~~")
            if times > 1:
                print("再试一次吧:", end='')
            else:
                print("机会用光咯T_T")
    else:
      print("抱歉,您的输入有误,请输入一个整数:", end='')

    times = times - 1 # 用户每输入一次,可用机会就-1

print("游戏结束,不玩啦^_^")

冬雪雪冬 发表于 2020-10-30 14:46:33

先给guess一个肯定不是答案的数,好能进入while循环。

小甲鱼的铁粉 发表于 2020-10-30 14:48:49

就是初始定义一个guess,如果不这样的话会报guess not defined的

半夏冬青 发表于 2020-10-30 14:56:34

就先假设你第一次猜测的是0,一个不可能正确的答案,这样才好进入循环~

叼辣条闯世界 发表于 2020-10-30 18:12:47

是给guess赋值,将输入的数字整形,再判断

笨鸟学飞 发表于 2020-10-30 20:50:47

他们说的可能你不太明白。
python中,变量初次使用不用声明、不用定义
但是变量第一次出现必须为赋值语句,否则会提示变量找不到

一抹心尘 发表于 2020-11-2 14:24:34

是这样的,我先问问你,首先,你清楚为什么要赋值嘛?
如果不清楚,我解释一下,清楚跳过看下面的部分。
因为guess这个变量进行运算,如果你不进行赋值,那么后面调用的时候就会报错,
显示,该变量不存在,说白了就是没有赋值,你都没赋值,我知道它是多少啊?可不是嘛。,Python
也不知道啊。
其次,为什么要给它赋一个为0的值,很简单,因为后面有这样一句代码:
while (guess != secret) and (times > 0):
如果不给它赋值为0.我给他赋任何一个介于0—10之间的数,那么是不是可能会出现我现在说的这种情况:
secret = random.randint(1,10)
secret 是随机的取一个0 —10之间的数,那么我一开始赋的值和这个随机数取到的值是不是有可能为同一个数,
那么既然为同一个数,我们说前面的判断条件是用and符号,表示必须前后两个条件都必须为真,否则判断为假,就不会进入循环执行语句,
而前面guess != secret 这个条件此时是不成立的,因为我前面刚刚说了,他们是取到了同一个值,那么有一个条件为假,整个and就为假,自然就没法进入循环。
那后面又怎么进行的下去呢?这个程序又怎么满足我们的要求呢?
所以,一开始一定要赋一个无论如何随机数都取不到的值。
好让循环成立,进入执行语句,完成我们的程序要求。

djpp 发表于 2020-11-23 14:12:11

冬雪雪冬 发表于 2020-10-30 14:46
先给guess一个肯定不是答案的数,好能进入while循环。

谢谢

djpp 发表于 2020-11-23 14:28:20

一抹心尘 发表于 2020-11-2 14:24
是这样的,我先问问你,首先,你清楚为什么要赋值嘛?
如果不清楚,我解释一下,清楚跳过看下面的部分。
...

谢谢这么耐心解释,已经明白啦
页: [1]
查看完整版本: 求助,guess = 0 是什么意思啊