鱼C论坛

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

[已解决]第四讲课后习题为什么要先guess = 0?

[复制链接]
发表于 2021-4-2 17:11:19 | 显示全部楼层 |阅读模式

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

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

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

那个print只是打印了一句话,但是它里面的变量end被设置成了'',所以接下来不会换行;又因为input里面没有字符,可以直接输入,而且输入是直接跟在print打印出来的话后面,所以你就错以为是可以输入是print的缘故
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-4-2 17:12:43 | 显示全部楼层
guess赋一个绝对不等于secret的值的用处是什么呢?直接guess = int(input(""))不可以吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-2 17:13:14 From FishC Mobile | 显示全部楼层
就是赋初值,注释不都写了吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-2 17:20:33 | 显示全部楼层
因为while循环哪里要用到guess,比输入获得guess要早,所以要先有guess这个变量。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-2 21:44:06 | 显示全部楼层
弈秋呜呜呜 发表于 2021-4-2 17:20
因为while循环哪里要用到guess,比输入获得guess要早,所以要先有guess这个变量。

还想问一下,为什么print("不妨猜一下小甲鱼现在心里想的是哪个数字:")可以输入内容啊?输入的内置函数不应该是input吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-3 10:20:18 | 显示全部楼层
你那个注释不是写了:end=''用空格代替换行符,后面直接跟input输入函数来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-3 16:08:54 | 显示全部楼层    本楼为最佳答案   
五岁能抬头 发表于 2021-4-2 21:44
还想问一下,为什么print("不妨猜一下小甲鱼现在心里想的是哪个数字:")可以输入内容啊?输入的内置函数 ...

那个print只是打印了一句话,但是它里面的变量end被设置成了'',所以接下来不会换行;又因为input里面没有字符,可以直接输入,而且输入是直接跟在print打印出来的话后面,所以你就错以为是可以输入是print的缘故
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-6 08:31:45 | 显示全部楼层
H.E.G. 发表于 2021-4-3 17:27
为它赋值起到一个初始化的作用
guess的值是一个整数(int)的格式
顺便提一下

sao dai si nai,感谢大神提点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-16 04:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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