2011-07-06 9 views
0

はPythonドキュメントでは、それが組み込み関数の複合体([リアル[IMAG]])のために書いている:complex()関数の使用方法を理解するにはどうすればよいですか?

..or convert a string or number to a complex number. 

しかし、私は試してみてください。

>>> complex('string') 

私が取得:

Traceback (most recent call last): 
    File "<interactive input>", line 1, in <module> 
    ValueError: complex() arg is a malformed string 

私は何か分かりません。誰かが私に何について話してくれたら嬉しいですか? 申し訳ありませんが、この質問は単純ですが、私はちょうどPythonを学び始めます。

+1

戻ってくると思われる複雑な数字は何ですか? – sshannin

+5

あなたが誤解しているのはPythonではなく、複素数の概念です。 – BoltClock

答えて

4

complex関数は、a + bjの形式の複素数(http://en.wikipedia.org/wiki/Complex_number)を扱うために使用されます。したがって、次のように使用できます。

>>> a = complex("1+2j") 
>>> a 
(1+2j) 
>>> a*a 
(-3+4j) 
1

'string'は数字ではありません。それは数字のようなものではありません。

stringの複合値はどのように計算できますか?それは数

数字や数字の文字列表現

complex(2) 
complex('3') 
+0

これはドキュメントからのものです: "実数値+実数* jの複素数を作成するか、文字列または数値を複素数に変換してください。" しかし、それは私が文字列として数値を与えることができるという意味であり、そのために彼らは文字列をパラメータとして与えることができると書いています。 – krzyhub

+0

@Cris: ''string''は数値の文字列表現ではありません。おそらく数値を持つことのできない単語を使うのはなぜですか? "数字を文字列として与える"という言葉は、 "文字列"という単語を使用することを意味するのではありませんか? –

+0

数字は文字列にすることができますか? exapmpleの場合、これは数字と文字列 "3"ですか?それとも、私はまだ理解していません。 – krzyhub

5

complexを使用してみてくださいは、複素数のデータ型ではありません。それらを構築する上

http://en.wikipedia.org/wiki/Complex_number

例:

>>> complex(1, 2) 
(1+2j) 
>>> complex('1+2j') 
(1+2j) 
>>> complex(0) 
0j 
>>> complex(1) 
(1+0j) 
>>> complex(1) + complex(0, 1) 
(1+1j) 

あなたは、複雑なまたは虚数に精通していない場合、あなたはおそらくちょうどに移動し、これのいずれかを心配することはできません。 =)

+0

私はこれをスキップしますが、私はこの複素数について何か書きます。ありがとう。 – krzyhub

2

"string"は複素数ではありません。正しい使用法は次のとおりです。

>>> a = complex('3j') 
>>> a 
3j 
>>> b = 4 + a 
>>> b 
(4+3j) 
関連する問題