codekata #10
codekata_0510
質問する
2つの入力は、文字列形式で1つの複素数(複素数)を与えます.
複素数はa+bi形式の実数と虚数である.
受け取った2つの数にinputを乗じて返してください.
返される表現も複数形の文字列でなければなりません.
複数定義により、(i^2)は-1なので(i^2)の場合は-1で計算してください.
2つの入力は、文字列形式で1つの複素数(複素数)を与えます.
複素数はa+bi形式の実数と虚数である.
受け取った2つの数にinputを乗じて返してください.
返される表現も複数形の文字列でなければなりません.
複数定義により、(i^2)は-1なので(i^2)の場合は-1で計算してください.
例1:
Input: "1+1i", "1+1i"
Output: "0+2i"
説明:
(1 + i) * (1 + i) = 1 + i + i + i^2 = 2i
2 iを複数形にすると0+2 i
例2:
Input: "1+-1i", "1+-1i"
Output: "0+-2i"
説明:
(1 - i) * (1 - i) = 1 - i - i + i^2 = -2i,
-2 iを複数形にすると0+-2 iになります.
例3:
Input: "1+3i", "1+-2i"
Output: "7+1i"
説明:
(1 + 3i) * (1 - 2i) = 1 - 2i + 3i -6(i^2) = 1 + i + 6,
7+iを複数形にすると7+1 i
家庭
inputは常にa+bi形式である.
outputもa+biの形で現れなければならない.
need to know
メールで編集します。
正解
def complex_number_multiply(a, b):
a = a[:-1].split("+")
b = b[:-1].split("+")
a1 = int(a[0])
a2 = int(a[1])
b1 = int(b[0])
b2 = int(b[1])
result = ((a1*b1) - (a2*b2)), ((a1 * b2) + (a2 * b1))
return str(result[0]) + "+" + str(result[1]) + "i"
リファレンス
split()
[:-1]
+
Reference
この問題について(codekata #10), 我々は、より多くの情報をここで見つけました https://velog.io/@shinisgood/codekata-10-4b816a5fテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol