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

3 python math fractions

我正在尝试编写一个简单的python脚本来计算数字的平方根.继承了我提出的代码并且它有效.但我想学习如何使用分数指数代替.

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

var2 = var1**(.5)
print(var2)
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助

Pus*_*ade 11

您可以在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
Run Code Online (Sandbox Code Playgroud)


小智 6

numerator, denominator = [float(s) for s in raw_input().strip().split("/")]
print 2 ** (numerator/denominator)
Run Code Online (Sandbox Code Playgroud)

我从输入中删除空格,拆分为多个部分,然后将这些部分转换为具有列表推导的数字.

如果输入不是小数形式,则会失败.检查和行为恰当......

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
Run Code Online (Sandbox Code Playgroud)

如果您尝试过使用2 ** (1/2)它并且失败了,那是因为1并且2是整数,所以Python 2使用整数除法并忽略小数部分.您可以通过键入1.0/2脚本或修复此问题来解决此问题input().