如何将分数作为指数传递给python以计算整数的第n个根?

2024-10-05 14:31:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图编写一个简单的python脚本来计算一个数字的平方根。这是我想出来的代码,它起作用了。但我想学习如何用分数指数代替。

var1 = input('Please enter number:')
var1 = int(var1)

var2 = var1**(.5)
print(var2)

谢谢你的帮助


Tags: 代码脚本numberinput数字intprintenter
2条回答

fractions模块的帮助下,可以使用分数指数。

在这个模块中有一个类Fraction,它的工作原理与我们的内置类int类似 这里有一个指向类-http://docs.python.org/library/fractions.html的文档的链接(只需通过它的前几个示例了解它是如何工作的)。很简单。)

这是对我有用的密码-

from fractions import Fraction  
var1 = input('Please enter number:')  
var1 = Fraction(var1)  
expo = Fraction('1/2')           //put your fractional exponent here  
var2 = var1**expo  
print var2
numerator, denominator = [float(s) for s in raw_input().strip().split("/")]
print 2 ** (numerator/denominator)

输入的strip空格,split将其转换为部分,然后用list comprehension将部分转换为数字。

如果输入不是小数形式,则此操作将失败。检查并表现得适当。。。

line = raw_input().strip()
if "/" in line:
    numerator, denominator = [float(s) for s in line.split("/")]
    exponent = numerator/denominator
else:
    exponent = float(line)

print 2 ** exponent

如果您尝试使用2 ** (1/2)但失败了,那是因为12是整数,所以Python 2使用整数除法并忽略小数部分。您可以通过在脚本中键入1.0/2input()来解决这个问题。

相关问题 更多 >