恶魔鸡米花 发表于 2020-6-26 16:04:36

为啥要给guess赋一个绝对不是secret的值?求解

import random
times = 3
secret = random.randint(1,10)
print('------------------我爱鱼C工作室------------------')
# 这里先给guess赋值(赋一个绝对不等于secret的值)
guess = 0
# print()默认是打印完字符串会自动添加一个换行符,end=" "参数告诉print()用空格代替换行
# 嗯,小甲鱼觉得富有创意的你应该会尝试用 end="JJ"?
print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ")
while (guess != secret) and (times > 0):

Twilight6 发表于 2020-6-26 16:08:31

本帖最后由 Twilight6 于 2020-6-26 16:10 编辑




为啥要给guess赋一个绝对不是secret的值?

首先这里的赋值主要是为了初始化作用 而且便于 while 循环这里的判断:
while (guess != secret) and (times > 0):

如果这里没有先初始化一个数值,就会导致代码运行到这里的时候报错 NameError,guess 没有定义

而为什么赋值不等呢?因为你的 while 条件就是当 (guess != secret) 和 (times > 0)都成立时候才进入循环

而你如果设置了等于secret 就进入不了while 循环 ,而且你的 if 判断全在 while 循环内进行的,那么如果d等于 secret 的话就不可能执行 while 循环的代码



heidern0612 发表于 2020-6-26 16:10:29

不赋值相等,是因为你下面要做while循环的判断。你都赋值相等了,下面还猜个啥?

你也可以逻辑反过来,赋值相等,下面判断是否相等,也是可以的。

逻辑都说得通。

恶魔鸡米花 发表于 2020-6-26 16:29:31

heidern0612 发表于 2020-6-26 16:10
不赋值相等,是因为你下面要做while循环的判断。你都赋值相等了,下面还猜个啥?

你也可以逻辑反过来, ...

感谢感谢

恶魔鸡米花 发表于 2020-6-26 16:30:06

Twilight6 发表于 2020-6-26 16:08
首先这里的赋值主要是为了初始化作用 而且便于 while 循环这里的判断:




非常感谢!!

Twilight6 发表于 2020-6-26 16:30:42

恶魔鸡米花 发表于 2020-6-26 16:30
非常感谢!!

{:10_297:} 客气了~~~
页: [1]
查看完整版本: 为啥要给guess赋一个绝对不是secret的值?求解