python - 如何将 3/4 这样的分数作为输入?

标签 python python-3.x fractions

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

我正在使用以下命令。当我给出诸如 4.5 这样的输入时,它工作正常:

a = float(input('>> '))

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

最佳答案

正如 Josh Lee 所指出的,将其包装在 Fraction 中(fromfractions import Fraction),然后将其转换为 float:

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

它接受以下形式的 float 和字符串:

[sign] numerator ['/' denominator] 

as noted in its docs .

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

关于python - 如何将 3/4 这样的分数作为输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41768941/

相关文章:

python - 从 pyqtgraph 获取 imageitem 值

python - 从 Python 连接到 google 数据存储

python-3.x - 如何让我的函数返回引用以外的内容?

python-3.x - 如何将自定义数据装入 Pytorch DataLoader?

c++ - 无法在输出中获取正确的分数值

python - 如何获取按字段键入的模型对象的字典

python - 在组任务完成之前, celery 链接执行子任务

algorithm - 有人可以解释这个 RSA 示例的最后部分发生了什么吗?

Python - 执行分数的字符串代码

r - 将混合数字、分数和整数的字符向量转换为数值