質問: 複素数の計算 (a+jb+c+jd; a,b,c,d:real) の出力が `1.23-0j` となります。 `1.23` と出力する方法を教えてください。 # 配列ではありません。
回答: complex class の `repr()` を再定義するか、`z = a+jb+c+jd; z.real if z.imag == 0 else z` とするなど。 ``` z = 1.23-0j #虚数部が0の場合は実数部のみ表示 print(z.real if z.imag == 0 else z) ``` この投稿は @metropolis さんのコメントなどを元に編集し、コミュニティWikiとして投稿しました。