鱼C论坛

 找回密码
 立即注册
查看: 2344|回复: 5

[已解决]python萌新求教大佬!!!

[复制链接]
发表于 2019-5-20 21:18:34 | 显示全部楼层 |阅读模式

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

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

x
零基础Python第三课里代码
temp = input("猜猜我心里现在想的是哪个数字?")
guess = int(temp)
if temp == 8:
    print("卧槽,你是寡人心里的蛔虫吗?!")
    print("but,才对了也木有奖励!")
else:
    print("猜错啦,寡人心里想的是8!")
print("游戏结束,不玩啦!")

我发现去掉中间的 “guess = int(temp)” 也是行得通的,这是为什么呢?
那要这一句的作用是什么呢?
最佳答案
2019-5-20 21:29:47
代码确实不会报错。

然而,你要明白 int() 的作用,
int('8')
>>>8
假如你去掉了这一行,那你就永远答不对了,就算你输入8也是错的,
因为'8'不等于8
而int的作用就是把'8'转换成8
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-5-20 21:29:47 | 显示全部楼层    本楼为最佳答案   
代码确实不会报错。

然而,你要明白 int() 的作用,
int('8')
>>>8
假如你去掉了这一行,那你就永远答不对了,就算你输入8也是错的,
因为'8'不等于8
而int的作用就是把'8'转换成8
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2019-5-20 21:30:40 | 显示全部楼层
去掉行得通个鬼,去掉你就永远猜不对了老哥。
去掉之后 temp 的类型是 str, temp == 8 就是字符串类型和整型作比较,永远为 False
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-5-20 22:04:03 | 显示全部楼层
°蓝鲤歌蓝 发表于 2019-5-20 21:30
去掉行得通个鬼,去掉你就永远猜不对了老哥。
去掉之后 temp 的类型是 str, temp == 8 就是字符串类型和 ...

      有一种情况是行得通的,如果用 Python 2.x 就可以。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2019-5-20 22:28:12 | 显示全部楼层
正如 4# 所说,你可能用的是 python2.x 版本,
我在这里进行补充一下~

相关链接:https://www.runoob.com/w3cnote/p ... nput-and-input.html
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-5-21 12:59:27 | 显示全部楼层
guess = int(temp),这一句是将数字字符串转换成int类型的,在python3.0里,如果你不转换那么input输入的是字符串,'temp == 8'是永远不可能成立的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-13 07:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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