如何将3/4等分数作为输入?

时间:2017-01-20 17:08:38

标签: python python-3.x fractions

我正在运行一些代码,其中我希望用户插入将被计算并作为浮点值存储在变量中的分数。

我正在使用以下命令。当我提供诸如4.5

之类的输入时,它工作正常
a = float(input('>> '))

但像3/4之类的东西给了我一个错误。我知道问题是什么,我想知道是否有另一种方法来输入一个得到解决的分数并将其作为浮点存储在一个变量中。

1 个答案:

答案 0 :(得分:2)

如Josh Lee所述,将其包裹在Fractionfrom fractions import Fraction)中,然后将其投放到float

r = float(Fraction(input(">>> ")))

这个接受浮点数和字符串的形式为:

[sign] numerator ['/' denominator] 

as noted in its docs

当然,您应该将其包装在try-except中,以防止意外输入不符合该格式。