无论如何在Python中计算一个分数,例如2/3或1/2,而不导入math
模块?
代码片段很简单:
# What is the cube root of your number
n = float(raw_input('Enter a number: '))
print(n**(1/3))
Run Code Online (Sandbox Code Playgroud)
非常简单的代码,但我看到它告诉我导入math
模块.我只是想将该片段添加到我正在处理的更大的代码中.我一直得到1作为我的答案,因为Python感觉像1/3是0而不是.333333333.我可以把.33333,但这只是一个临时修复,我想知道如何为未来的项目执行这个非常基本的计算.
Bre*_*arn 12
您可以from __future__ import division
在必要时使用整数除法返回浮点数(这样1/3将导致0.333333 ......).
即使不这样做,您也可以通过1.0/3
代替而获得小数值1/3
.(1.0
使第一个数字成为浮点而不是整数,这使得除法工作正常.)
标准库中有一个分数模块,可以对分数执行各种任务。如果您对分数进行了大量计算,则可以在不将它们转换为浮点数的情况下进行计算。http://docs.python.org/library/fractions.html
归档时间: |
|
查看次数: |
16320 次 |
最近记录: |