始一@ 发表于 2021-3-6 16:12:19

为什么要给guess赋值,guess的作用是什么

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):
    temp = input()
    guess = int(temp)
    times = times - 1 # 用户每输入一次,可用机会就-1
    if guess == secret:
      print("我草,你是小甲鱼心里的蛔虫吗?!")
      print("哼,猜中了也没有奖励!")
    else:
      if guess > secret:
            print("哥,大了大了~~~")
      else:
            print("嘿,小了,小了~~~")
      if times > 0:
            print("再试一次吧:", end=" ")
      else:
            print("机会用光咯T_T")
print("游戏结束,不玩啦^_^")

逃兵 发表于 2021-3-6 16:18:26

在初始位置给guess赋值绝对不等于secret的值

是为了让程序满足条件

while (guess != secret) and (times > 0):

从而进入循环

如果不赋值的话,会报错

Traceback (most recent call last):
File "C:\Users\admin\Desktop\test2.py", line 10, in <module>
    while (guess != secret) and (times > 0):
NameError: name 'guess' is not defined

如果赋值与secret相同的话,不满足循环条件,直接跳过

游戏结束,不玩啦^_^

Cute_Traver_Cat 发表于 2021-3-6 16:19:03

初始化变量值,编程习惯,令变量有一个可以确定的初值,也可以不初始化,py会默认赋值0

sevendevix 发表于 2021-3-6 16:19:21

{:10_266:}因为while 中的循环条件判断会需要用到 guess的值啊,如果不先赋值,会报错

yuedong 发表于 2021-3-6 16:41:15

这里的guess先赋值,旁边不是写了要一个绝对不等于secrt的值嘛
主要是要让
while (guess != secret) and (times > 0):
这里的条件为真
以便程序刚刚开始时可以运行下去
页: [1]
查看完整版本: 为什么要给guess赋值,guess的作用是什么