linsuye 发表于 2020-5-16 14:38:32

[课后作业] 第004讲:改进我们的小游戏 | 课后测试 guess为什么要设置等于0

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("游戏结束,不玩啦^_^")

liuzhengyuan 发表于 2020-5-16 14:40:33

guess 要初始化一下的
不然之后循环直接来一个 guess != secret 解释器不知道这个变量是啥

Twilight6 发表于 2020-5-16 14:54:31

因为后面的:
while (guess != secret) and (times > 0):

这边需要使用到判断,而且你随机数的1~10 不可能取到0

guess = 0 在这就是起到初始化数值的作用,如果你把这个去掉,while 就会不知道guess 是什么东东导致报错NameError

linsuye 发表于 2020-5-16 14:55:13

liuzhengyuan 发表于 2020-5-16 14:40
guess 要初始化一下的
不然之后循环直接来一个 guess != secret 解释器不知道这个变量是啥

谢谢啦

焦健鬼 发表于 2020-5-16 14:55:23

赋值符号=在这里是初始化的意思,你可以把它改成任意数
如果帮到你了,就设个最佳吧{:10_287:}

linsuye 发表于 2020-5-16 14:58:04

Twilight6 发表于 2020-5-16 14:54
因为后面的:




{:10_298:}原来如此

linsuye 发表于 2020-5-16 15:03:41

焦健鬼 发表于 2020-5-16 14:55
赋值符号=在这里是初始化的意思,你可以把它改成任意数
如果帮到你了,就设个最佳吧

{:10_295:}奈斯的兄弟

焦健鬼 发表于 2020-5-16 15:51:05

linsuye 发表于 2020-5-16 15:03
奈斯的兄弟

嘿嘿
页: [1]
查看完整版本: [课后作业] 第004讲:改进我们的小游戏 | 课后测试 guess为什么要设置等于0