
小编在学习Python的时候发现了一个有趣的类型转换,今天就分享给大家。
a=12.8 print(type(12.8)) print(int(12.8))
</pre>
运行结果很明显:
<class ‘float’>
12
<pre class="brush:js;toolbar:false;">
接下来就是有些疑惑的地方了。
a = input(“input:”) print(type(a)) print(int(a))
</pre>
不同的输入有不同的输出结果,当输入小数时,会报错;当输入整数时却可以正常运行。
input:12.8
<class ‘str’>
Traceback (most recent call last):
File “D:/PycharmProject/Study/Chapter3.py”, line 66, in <module>
print(int(a))
ValueError: invalid literal for int() with base 10: ‘12.8’
<pre class="brush:js;toolbar:false">
input:12 <class ‘str’> 12
</pre>
一个方法是:
a = input(“input:”) print(type(a)) print(int(float(a)))
<pre class="brush:js;toolbar:false">
将类型进行两次转换,得到了想要的结果:
input:12.8 <class ‘str’> 12
</pre>
也有人给出了更好的办法:
a = eval(input(“input:”)) print(type(a)) print(int(a))
<pre class="brush:js;toolbar:false">
得到的结果:
input:12.8 <class ‘float’> 12
两种方法都分享给大家,根据适合自己的随便挑选。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试