鱼C论坛

 找回密码
 立即注册
查看: 2405|回复: 13

小疑惑,不明白,求懂得人解释一下

[复制链接]
发表于 2014-7-30 14:17:18 | 显示全部楼层 |阅读模式

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

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

x
temp=input('请输入一个数')
guess=int(temp)
这两句代码意识是   输入一个数给temp,  然后int(temp)把temp转化为整型传递给guess,
为什么输入一个小数会报错。 int不是可以吧小数转化为整型的吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-30 14:29:44 | 显示全部楼层
int 可以把浮点数转换成整数,可以把字符串转换成整数(但前提是要字符串中的字符是纯数字)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-30 14:38:13 | 显示全部楼层
小甲鱼 发表于 2014-7-30 14:29
int 可以把浮点数转换成整数,可以把字符串转换成整数(但前提是要字符串中的字符是纯数字)

是啊,打个比方,当我输入4.6时,temp=4.6,guess=int(temp) 不就等于guess=int(4.6)吗,转化出来的应该是4,怎么我输入小数会不行,这个我还不明白,小甲鱼老师怎么就把设为解决啊

点评

int 把字符串转换成整型,并不会识别字符串中非数字的字符,例如小数点'.'是不会识别出来的。大概工作原理就是先判别字符串中是否全部为数字字符(ASCII码为0x30到0x39之间),如果有超出这个范围,抛出异常。 学  详情 回复 发表于 2014-7-30 15:40
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-7-30 15:40:05 | 显示全部楼层
sunny989129 发表于 2014-7-30 14:38
是啊,打个比方,当我输入4.6时,temp=4.6,guess=int(temp) 不就等于guess=int(4.6)吗,转化出来的应该 ...

int 把字符串转换成整型,并不会识别字符串中非数字的字符,例如小数点'.'是不会识别出来的。大概工作原理就是先判别字符串中是否全部为数字字符(ASCII码为0x30到0x39之间),如果有超出这个范围,抛出异常。

学习到后边你完全可以根据自己的需要定义 int() 这类函数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-7-30 15:56:28 | 显示全部楼层
呵呵, 學習了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-30 16:21:17 | 显示全部楼层
小甲鱼 发表于 2014-7-30 15:40
int 把字符串转换成整型,并不会识别字符串中非数字的字符,例如小数点'.'是不会识别出来的。大概工作原 ...

不对啊,那我在交互模式中,直接 int(4.8)就出来了4,这不是也可以识别小数点吗??????????????????????????????

点评

这个是将浮点型转换为整型,所以可以。 你试试在交互模式下 int('4.8')  详情 回复 发表于 2014-7-30 16:38
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-7-30 16:38:23 | 显示全部楼层
sunny989129 发表于 2014-7-30 16:21
不对啊,那我在交互模式中,直接 int(4.8)就出来了4,这不是也可以识别小数点吗???????????? ...

这个是将浮点型转换为整型,所以可以。

你试试在交互模式下 int('4.8')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-30 17:02:02 | 显示全部楼层
小甲鱼 发表于 2014-7-30 16:38
这个是将浮点型转换为整型,所以可以。

你试试在交互模式下 int('4.8')

是这样的啊,temp=input(),当我输入一个小数字例如输入4.8后,他是以字符串的形式传递给temp了?或者说是传递给temp后转化为字符串‘4.8’?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-30 17:02:37 | 显示全部楼层
小甲鱼 发表于 2014-7-30 16:38
这个是将浮点型转换为整型,所以可以。

你试试在交互模式下 int('4.8')

是这样的啊,temp=input(),当我输入一个小数字例如输入4.8后,他是以字符串的形式传递给temp了?或者说是传递给temp后转化为字符串‘4.8’?

点评

对的,Python的input返回的是字符串原型  详情 回复 发表于 2014-7-30 17:36
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-7-30 17:26:57 | 显示全部楼层
我在考虑如何判断一个变量的是否为  int  或者  float 。
就是用  if  怎么判断
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-7-30 17:36:09 | 显示全部楼层
sunny989129 发表于 2014-7-30 17:02
是这样的啊,temp=input(),当我输入一个小数字例如输入4.8后,他是以字符串的形式传递给temp了?或者说 ...

对的,Python的input返回的是字符串原型
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-30 20:51:25 | 显示全部楼层
第一次感觉离小甲鱼老师很近{:7_173:}
对新手也这么有耐心,向甲鱼老师致敬。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-7-30 22:09:09 | 显示全部楼层
小甲鱼 发表于 2014-7-30 15:40
int 把字符串转换成整型,并不会识别字符串中非数字的字符,例如小数点'.'是不会识别出来的。大概工作原 ...

明白了,谢谢老师
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-7 14:41:05 | 显示全部楼层
还挺麻烦的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 15:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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