Уведомления

Группа в Telegram: @pythonsu

#1 Март 3, 2016 09:35:24

Vlad_Ki
Зарегистрирован: 2016-01-22
Сообщения: 69
Репутация: +  1  -
Профиль   Отправить e-mail  

Округление комплексных чисел

Добрый день, друзья!
Все утро бьюсь над нахождением метода, функции или атрибута (пока еще толком не разобрался в отличии метода от атрибута) для округления комплексного числа.
В учебнике нет такой инфы, гугл тоже отказывается мне что то подходящее рассказывать, а в модуле cmath тоже нет подходящей функции.
Из того что работает, вот что самое короткое, что мне удалось написать.

x1 = complex(round(x1.real, 3), round(x1.imag, 3))
Не очень то лаконично выходит.
Поделитесь пожалуйста знаниями, уважаемые.
Заранее всех благодарю.



lol developer

Отредактировано Vlad_Ki (Март 3, 2016 09:36:07)

Офлайн

#2 Март 3, 2016 09:50:44

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

Округление комплексных чисел

import numpy as np
z = 1.1-2.3j
print np.round(z)
(1-2j)

Офлайн

#3 Март 3, 2016 10:13:51

Vlad_Ki
Зарегистрирован: 2016-01-22
Сообщения: 69
Репутация: +  1  -
Профиль   Отправить e-mail  

Округление комплексных чисел

Круто!) Большое спасибо.



lol developer

Офлайн

#4 Март 5, 2016 13:07:42

Vlad_Ki
Зарегистрирован: 2016-01-22
Сообщения: 69
Репутация: +  1  -
Профиль   Отправить e-mail  

Округление комплексных чисел

Кому может интересно, сейчас перечитывал тему спецификаторов формата для форматирования строк методом str.format() и обнаружил, что можно округлять комплексные числа таким вот незамысловатым способом:

>>> "{0.real:.3f}{0.imag:+.3f}j".format(4.75917+1.2042j)
'4.759+1.204j'



lol developer

Отредактировано Vlad_Ki (Март 5, 2016 13:08:46)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version