【发布时间】:2021-12-13 23:19:58
【问题描述】:
我想根据重量计算罩杯尺寸。
一杯定义为 240 克的重量。
我需要在1/4 的数学倍数中以 gr(十进制数)为单位获得重量为x 的杯子的数量。
结果应该是一个字符串。
因此,可能的值应限于: 0、1/4、1/2、3/4、1、1 1/4、1 1/2、1 3/4、2等。
例子:
x = 130.3
杯子尺寸:1/2
x = 10
杯子尺寸:0
x = 310
杯子尺寸:1 1/4
如何在 python 中实现它? 我正在阅读Fractions 模块,但找不到我需要的东西。
按照 Nathaniel 的要求,我不确定如何在 python 中解决这个数学问题。我认为它可以在图书馆中存在一种方法来做到这一点。这就是我在这里问的原因。
到目前为止,我尝试使用as_integer_ratio 方法进行转换:
weight = 351
unit = 240
weight_to_convert = int(round(weight/unit))
print(weight_to_convert.as_integer_ratio())
但这不起作用,只是给我最接近的整数分数。
【问题讨论】:
-
您希望输出为字符串,还是实际的 Fraction 对象?你不应该使用浮点对象,因为它们有舍入错误
-
输出应该是一个字符串
-
您应该提供一些您尝试过的代码,并解释为什么它没有按预期工作。就目前而言,您有点要求 SO 为您编写代码。
-
以
round(amount / 240, 3)开头。然后编写一个函数来四舍五入到最近的四分之一杯 -
@NathanielFord 我不知道如何解决这个问题。我添加了到目前为止我尝试过的内容。