Pythonにおけるint()強制タイプ変換
3177 ワード
今日、Python学習交流グループで面白いタイプの変換を見つけました.
実行結果は次のとおりです.
次は少し疑問なところです.
異なる入力には異なる出力結果があり、小数を入力すると、エラーが発生します.整数を入力すると正常に動作します.
私と友达(私たちは菜鳥がお互いに考えているだけです)が考えている方法は:
タイプを2回変換し、目的の結果を得ました.
もっと良い方法を示した人もいます
結果:
eval()を検索すると、本当に不思議な関数であることがわかりました.
python evalの妙用
転載先:https://www.cnblogs.com/cathycheng/p/11177135.html
a=12.8
print(type(12.8))
print(int(12.8))
実行結果は次のとおりです.
<class 'float'>
12
次は少し疑問なところです.
a = input("input:")
print(type(a))
print(int(a))
異なる入力には異なる出力結果があり、小数を入力すると、エラーが発生します.整数を入力すると正常に動作します.
input:12.8
<class 'str'>
Traceback (most recent call last):
File "D:/PycharmProject/Study/Chapter3.py", line 66, in
print(int(a))
ValueError: invalid literal for int() with base 10: '12.8'
input:12
<class 'str'>
12
私と友达(私たちは菜鳥がお互いに考えているだけです)が考えている方法は:
a = input("input:")
print(type(a))
print(int(float(a)))
タイプを2回変換し、目的の結果を得ました.
input:12.8
<class 'str'>
12
もっと良い方法を示した人もいます
a = eval(input("input:"))
print(type(a))
print(int(a))
結果:
input:12.8
<class 'float'>
12
eval()を検索すると、本当に不思議な関数であることがわかりました.
python evalの妙用
転載先:https://www.cnblogs.com/cathycheng/p/11177135.html