我正在尝试编写一个简单的Python脚本,用于计算一个数的平方根。这是我想出来的代码,它可以工作。但我想学习如何使用分数指数。
var1 = input('Please enter number:')
var1 = int(var1)
var2 = var1**(.5)
print(var2)
感谢您的帮助。
你可以利用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
Fraction(1, 243)**Fraction(1, 5)
产生的结果是 0.3333333
,而不是 Fraction(1, 3)
。 - endolithnumerator, denominator = [float(s) for s in raw_input().strip().split("/")]
print 2 ** (numerator/denominator)
我会去除输入中的空格,将其分成几部分,然后使用列表推导式将这些部分转换为数字。
如果输入不是小数形式,则会失败。要检查并采取适当的行动...
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)
,但失败了,那是因为 1
和 2
是整数,所以 Python 2 使用整数除法并忽略小数部分。你可以通过在脚本中输入 1.0/2
或者使用 input()
来修复这个问题。exponent = numerator/(float(denominator))
而不是强制输入奇怪的"1.0/2"。 - Michael Anderson