鱼C论坛

 找回密码
 立即注册
查看: 3226|回复: 8

[已解决]求助,guess = 0 是什么意思啊

[复制链接]
发表于 2020-10-30 14:43:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请问 这里的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循环。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-30 14:46:33 | 显示全部楼层    本楼为最佳答案   
先给guess一个肯定不是答案的数,好能进入while循环。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2020-10-30 14:48:49 | 显示全部楼层
就是初始定义一个guess,如果不这样的话会报guess not defined的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-30 14:56:34 From FishC Mobile | 显示全部楼层
就先假设你第一次猜测的是0,一个不可能正确的答案,这样才好进入循环~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-30 18:12:47 | 显示全部楼层
是给guess赋值,将输入的数字整形,再判断
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-30 20:50:47 | 显示全部楼层
他们说的可能你不太明白。
python中,变量初次使用不用声明、不用定义
但是变量第一次出现必须为赋值语句,否则会提示变量找不到
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 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就为假,自然就没法进入循环。
那后面又怎么进行的下去呢?这个程序又怎么满足我们的要求呢?
所以,一开始一定要赋一个无论如何随机数都取不到的值。
好让循环成立,进入执行语句,完成我们的程序要求。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

 楼主| 发表于 2020-11-23 14:12:11 | 显示全部楼层
冬雪雪冬 发表于 2020-10-30 14:46
先给guess一个肯定不是答案的数,好能进入while循环。

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

谢谢这么耐心解释,已经明白啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-17 14:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表