鱼C论坛

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

[已解决]这是一个小白用户提出的问题。。

[复制链接]
发表于 2019-12-16 22:38:37 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 魏文 于 2019-12-16 22:40 编辑

代码如下:
temp = input('请输入一个整数:')
number = int(temp)
i = 1
while number:
    print(i)
    i = i + 1
    number = number - 1

各位大佬好,这段时间在看小甲鱼老师讲的python教程,想请教下,上述代码第二行int的作用是什么啊,(我在百度里查的,说作用是把数值转换成整型,)
最佳答案
2019-12-16 22:44:37
input('请输入一个整数:')执行后,你输入内容会转换为字符串
int是一个把 其他类型转化为 整数的方法 比如int('123')他的结果是 123 变成了整数
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-12-16 22:44:37 | 显示全部楼层    本楼为最佳答案   
input('请输入一个整数:')执行后,你输入内容会转换为字符串
int是一个把 其他类型转化为 整数的方法 比如int('123')他的结果是 123 变成了整数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-16 22:45:19 | 显示全部楼层
input接收输入,而这个输入 永远是  字符串

而在实际中,这个字符串你要当整形还是别的类型,你得自己转换 如int()
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-16 22:49:14 | 显示全部楼层
TJBEST 发表于 2019-12-16 22:44
input('请输入一个整数:')执行后,你输入内容会转换为字符串
int是一个把 其他类型转化为 整数的方法 比如 ...

嗯,input,输入的是不是只能是字符串啊,然后下面的代码需要数字,就用上了int把字符串转换成整数型的。我在去看input,哎,表示现在就知道input的作用是输入。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2019-12-16 22:50:46 | 显示全部楼层
魏文 发表于 2019-12-16 22:49
嗯,input,输入的是不是只能是字符串啊,然后下面的代码需要数字,就用上了int把字符串转换成整数型的。 ...

对的 你输入的内容 就是字符串 只不过不用你自己打双引号而已,他转化为字符串赋值给temp
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-16 22:58:42 | 显示全部楼层
TJBEST 发表于 2019-12-16 22:50
对的 你输入的内容 就是字符串 只不过不用你自己打双引号而已,他转化为字符串赋值给temp

好的,谢谢了大佬 。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-16 23:08:29 | 显示全部楼层
TJBEST 发表于 2019-12-16 22:50
对的 你输入的内容 就是字符串 只不过不用你自己打双引号而已,他转化为字符串赋值给temp

大佬 ,还上面的那个代码,我输入一个小数,为什么就执行结果出错啊。input接收小数,int识别不出来么?,
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-16 23:12:38 | 显示全部楼层
魏文 发表于 2019-12-16 23:08
大佬 ,还上面的那个代码,我输入一个小数,为什么就执行结果出错啊。input接收小数,int识别不出来么? ...

int 只能是 ‘112’这样的字符串 即 字符串里面是整数 否则报错 当然整数也包括二进制 八进制等,我搜了一下原文你看看
int([x]) -> integer
|  int(x, base=10) -> integer
|  
|  Convert a number or string to an integer, or return 0 if no arguments
|  are given.  If x is a number, return x.__int__().  For floating point
|  numbers, this truncates towards zero.
|  
|  If x is not a number or if base is given, then x must be a string,
|  bytes, or bytearray instance representing an integer literal in the
|  given base.  The literal can be preceded by '+' or '-' and be surrounded
|  by whitespace.  The base defaults to 10.  Valid bases are 0 and 2-36.
|  Base 0 means to interpret the base from the string as an integer literal.
|  >>> int('0b100', base=0)
|  4
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-16 23:13:07 | 显示全部楼层
魏文 发表于 2019-12-16 23:08
大佬 ,还上面的那个代码,我输入一个小数,为什么就执行结果出错啊。input接收小数,int识别不出来么? ...

int 转化为 整数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-17 00:55:27 | 显示全部楼层
你要想可以识别小数,你可以先把temp 转成浮点型,再把浮点型用int转成整数,int不能直接把带小数点的字符串转换为整数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-17 17:08:14 | 显示全部楼层
经常就是一不注意就犯错,没把input里输入的字符串转换成整型就与其他整数相加 了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-17 22:04:08 From FishC Mobile | 显示全部楼层
input 返回的永远是字符串,所以即使用户输入的是数字也要用 int() 转化成数字。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-17 23:04:56 | 显示全部楼层
强制类型转换,比如你没有按要求输入整数,而是输入了一个3.14,第二行的作用就是转换为3
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-20 21:09:06 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-17 17:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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