小编在学习Python的时候发现了一个有趣的类型转换,今天就分享给大家。
<p style="line-height: 1.75em;">a=12.8
<p style="line-height: 1.75em;">a=12.8
print(type(12.8))
print(int(12.8))<br></p>
a=12.8
print(type(12.8))
print(int(12.8))
运行结果很明显:
<class 'float'>
12
接下来就是有些疑惑的地方了。
<p style="line-height: 1.75em;">a = input("input:")<br>print(type(a))<br>print(int(a))<br></p>
<p style="line-height: 1.75em;">a = input("input:")<br>print(type(a))<br>print(int(a))<br></p>
a = input("input:")
print(type(a))
print(int(a))
不同的输入有不同的输出结果,当输入小数时,会报错;当输入整数时却可以正常运行。
<p style="line-height: 1.75em;">input:12.8<br><class 'str'><br>Traceback (most recent call last):<br> File "D:/PycharmProject/Study/Chapter3.py", line 66, in <module><br> print(int(a))<br>ValueError: invalid literal for int() with base 10: '12.8'<br></p>
<p style="line-height: 1.75em;">input:12.8<br><class 'str'><br>Traceback (most recent call last):<br> File "D:/PycharmProject/Study/Chapter3.py", line 66, in <module><br> print(int(a))<br>ValueError: invalid literal for int() with base 10: '12.8'<br></p>
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'
<p style="line-height: 1.75em;">input:12<br><class 'str'><br>12<br></p>
<p style="line-height: 1.75em;">input:12<br><class 'str'><br>12<br></p>
input:12
<class 'str'>
12
一个方法是:
<p style="line-height: 1.75em;">a = input("input:")
print(int(float(a)))<br></p>
<p style="line-height: 1.75em;">a = input("input:")
print(type(a))
print(int(float(a)))<br></p>
a = input("input:")
print(type(a))
print(int(float(a)))
将类型进行两次转换,得到了想要的结果:
<p style="line-height: 1.75em;">input:12.8<br><class 'str'><br>12<br></p>
<p style="line-height: 1.75em;">input:12.8<br><class 'str'><br>12<br></p>
input:12.8
<class 'str'>
12
也有人给出了更好的办法:
<p style="line-height: 1.75em;">a = eval(input("input:"))
<p style="line-height: 1.75em;">a = eval(input("input:"))
print(type(a))
print(int(a))<br></p>
a = eval(input("input:"))
print(type(a))
print(int(a))
得到的结果:
<p style="line-height: 1.75em;">input:12.8<br><class 'float'><br>12<br></p>
<p style="line-height: 1.75em;">input:12.8<br><class 'float'><br>12<br></p>
input:12.8
<class 'float'>
12
两种方法都分享给大家,根据适合自己的随便挑选。更多Python学习推荐:PyThon学习网教学中心。