私は数字の平方根を計算する簡単なpythonスクリプトを書こうとしています。私は思いついたコードをheresし、それは動作します。しかし、分数指数を使用する方法を学びたいと思います。パーツに整数のn番目の根を計算するために、どのようにして分数をpythonに指数として渡すのですか?
var1 = input('Please enter number:')
var1 = int(var1)
var2 = var1**(.5)
print(var2)
助けてくれてありがとう
私は数字の平方根を計算する簡単なpythonスクリプトを書こうとしています。私は思いついたコードをheresし、それは動作します。しかし、分数指数を使用する方法を学びたいと思います。パーツに整数のn番目の根を計算するために、どのようにして分数を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クラスを使用するのが最も良い点は、入力(var1)がint、float、fraction、decimal、または文字列(適切な文字列)であるかどうかは関係なく、上記のコードスニペットが常に機能することです。 –
'Fraction(1,243)** Fraction(1、5)'は '0.3333333'を生成しますが、Fraction(1,3) – endolith
numerator, denominator = [float(s) for s in raw_input().strip().split("/")]
print 2 ** (numerator/denominator)
入力からI strip空白、splitそれは、その後、list comprehensionで数値に部品を変換します。
入力が分数形式でない場合、これは失敗します。 1
と2
が整数であるため、Pythonの2が整数の除算を使用し、小数部分を無視するように、あなたは2 ** (1/2)
を使用してみました、それが失敗した場合は...
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
をチェックし、適切に動作するには、それが、あります。スクリプトに1.0/2
と入力するか、input()
と入力して修正できます。
か、奇数の "1.0/2"入力を強制するのではなく、 'exponent = numerator /(float(denominator))'を使うことができます。 –
あなたは文字列1/4などの形で指数の入力を得るのですか? –