分数,我们大家都知道,上面是分子,下面是分母,中间一道横线。
要想在Python中使用分数,需要导入fractions库中的Fraction函数;把分子作为第1个参数,分母作为第2个参数;注意输出时的样子和它的类型。
当我们得到一个分数类型的变量,通过调用它的属性numerator显示分子,denominator显示分母。
运算符同样适用于分数类型。
我们可以把分数类型的变量转换为浮点数,默认为小数点后16位;可以通过round函数直接截取,需要注意的是,改变的是分子分母,而不是对结果截取。
更方便的是,字符串可以直接转为分数,只要符合浮点数,科学计数法,分数的写法。
当你不给Fraction函数任何参数时,为了不出错,还是有默认值的(分子为0,分母为1);只有1个参数时,会换算成对应的分子分母的,整数分母都为1。
你已经在行17发现了,分子分母变为6位,那只是因为转换的是字符串;Fraction对浮点数一般提供更高精度的分子和分母,达到16位;上图的例子中是从0、0.1…0.9的分数。
函数最有意思的地方,竟然会对所给分子分母,自动约分,只保留最简分数。
除了对结果控制,还可以对分母的取值设定上限。
分数还可以嵌套,虽然不容易看懂;注意处于分母位置的分数,请颠倒过来再相乘,希望你没有忘记分数的算法。
热门跟贴