input()函数的数据类型

现在,我们再来分析一下代码的报错信息,TypeError: can't multiply sequence by non-int of type 'float',翻译结果为类型错误:无法将序列与“float”类型的非int相乘,简单点说就是money*1.2乘法运算两侧不是数字,那么那一侧不是数字呢?很显然左侧不是,那左侧的money是什么类型呢?
答案是【字符串】类型
对于input()函数来说,不管我们输入的回答是什么,不管你输入的是整数1234,还是字符串『什么是快乐星球』,input()函数的输入值(搜集到的回答),永远会被【强制性】地转换为【字符串】类型。(Python3固定规则)
不信?用我们第一关学过的type()函数检验一下?
choice = input('请输入1或2:')
print(type(choice))
复制代码
是不是呀,我们输入的整数【1】或【2】就会被强制地转换为字符串的【'1'】或【'2'】。
所以,不管我们在终端区域输入什么,input()函数的输入值一定是【字符串】。
就这样,由于我们用赋值运算符【=】把input()函数的字符串结果,赋给了变量money,所以这个变量也一定是字符串类型。

现在,我们确定了变量money的数据类型是字符串。下面,我们就应该解决一下这个问题,怎么解决呢?
为了让用户输入的数据可以参与运算,我们应该将数据转换为整数
Python input()函数详解与数据转换

这篇博客探讨了Python的input()函数,指出无论输入为何,其返回值总是字符串类型。文章通过示例解释了如何使用int()函数将input()的结果强制转换为整数以进行数学运算。同时,提出了在需要数字输入的场景中使用此技巧,如获取年龄、工资等。还介绍了在不同条件判断下使用if...elif...else...语句的示例,并总结了input()函数的数据类型转换知识点。
最低0.47元/天 解锁文章
2233

被折叠的 条评论
为什么被折叠?



