五岁能抬头 发表于 2021-4-2 17:11:19

第四讲课后习题为什么要先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("游戏结束,不玩啦^_^")

五岁能抬头 发表于 2021-4-2 17:12:43

guess赋一个绝对不等于secret的值的用处是什么呢?直接guess = int(input(""))不可以吗?

wp231957 发表于 2021-4-2 17:13:14

就是赋初值,注释不都写了吗

弈秋呜呜呜 发表于 2021-4-2 17:20:33

因为while循环哪里要用到guess,比输入获得guess要早,所以要先有guess这个变量。

五岁能抬头 发表于 2021-4-2 21:44:06

弈秋呜呜呜 发表于 2021-4-2 17:20
因为while循环哪里要用到guess,比输入获得guess要早,所以要先有guess这个变量。

还想问一下,为什么print("不妨猜一下小甲鱼现在心里想的是哪个数字:")可以输入内容啊?输入的内置函数不应该是input吗?

剑廿三 发表于 2021-4-3 10:20:18

你那个注释不是写了:end=''用空格代替换行符,后面直接跟input输入函数来

弈秋呜呜呜 发表于 2021-4-3 16:08:54

五岁能抬头 发表于 2021-4-2 21:44
还想问一下,为什么print("不妨猜一下小甲鱼现在心里想的是哪个数字:")可以输入内容啊?输入的内置函数 ...

那个print只是打印了一句话,但是它里面的变量end被设置成了'',所以接下来不会换行;又因为input里面没有字符,可以直接输入,而且输入是直接跟在print打印出来的话后面,所以你就错以为是可以输入是print的缘故

H.E.G. 发表于 2021-4-3 17:27:24

五岁能抬头 发表于 2021-4-2 21:44
还想问一下,为什么print("不妨猜一下小甲鱼现在心里想的是哪个数字:")可以输入内容啊?输入的内置函数 ...

为它赋值起到一个初始化的作用
guess的值是一个整数(int)的格式
顺便提一下
那个print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ")并不是输入内容的代码,end=" "参数只是告诉print()用空格代替换行
输入内容的代码在下面注释的部分↓
while (guess != secret) and (times > 0):
    temp = input()#这才是输入内容的代码
    guess = int(temp)
    times = times - 1 # 用户每输入一次,可用机会就-1

五岁能抬头 发表于 2021-4-6 08:31:45

H.E.G. 发表于 2021-4-3 17:27
为它赋值起到一个初始化的作用
guess的值是一个整数(int)的格式
顺便提一下


sao dai si nai,感谢大神提点{:10_297:}
页: [1]
查看完整版本: 第四讲课后习题为什么要先guess = 0?