问题背景:
输入一个string并用int函数把字符串变成int输出:
这是我写的代码,结果去终端运行就出现了下面的报错:
#喂给input的数据为2.1,当时的想法是,2.1喂给input,然后再使用int函数把2.1转化成int输出,完美!
原因分析:
找度娘问了一下,看到有人说是因为input获取的数据类型和int函数类型不符合导致的报错。原文如下https://blog.csdn.net/frankyaixu/article/details/128596586
解决:
按照上文的思路我重新在终端运行了一下,发现确实如此。
input获取到的数据类型为string。此前笔者一直认为,输入什么类型的数据input就获取什么类型,这是不对的,不管在终端输入什么数据给input,该函数获取到的都是string,而string要使用int()变成int要确保数据本身就是int类型,这个过程只是数据类型的变化,而不涉及数据计算(如笔者一开始以为的四舍五入)