如何将分数(例如 3/4)作为输入?

How to take a fraction such as 3/4 as input?

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

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

这样的输入时它工作正常
a = float(input('>> '))

但是 3/4 之类的东西给我一个错误。我知道问题出在哪里,我想知道是否有另一种方法可以输入一个分数,该分数得到求解并作为浮点数存储在变量中。

如 Josh Lee 所述,将其包装在 Fraction (from fractions import Fraction) 中,然后将其转换为 float:

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

它接受以下形式的浮点数和字符串:

[sign] numerator ['/' denominator] 

as noted in its docs.

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