練習用に単位変換器を作っています。現在、どのタイプの変換を行うか (距離、時間、質量など) を判断する関数を定義しました。
次に、型に適したコンバーターを呼び出し、変換元、変換先、および変換の値を尋ねます。
def mass_converter():
convert_from = raw_input('What unit are you converting from? ')
convert_to = raw_input('What unit are you converting to? ')
value = raw_input('How many of those do you have? ')
if convert_from == "pounds" and convert_to == "kilograms":
answer = float(value) * 0.453592
print "That many pounds is %d kilograms." % answer
elif convert_from == "kilograms" and convert_to == "pounds":
answer = float(value) * 2.20462
print "That many kilograms is %d pounds." % answer
else:
print "You have not selected a valid unit; please try again."
mass_converter()
現在、10 ポンドをキログラムに変換すると、答えは 4 キログラムになります。それは私の小数を切り落としているようです。明らかに int(value) も同じことを行います。ユーザーが入力した正確な値を保持するために何を使用できますか?