PriestFromRL
@PriestFromRL

Функция round() не работает, что делать?

D = b**2 - 4*a*c;
dk = cmath.sqrt(D)
dk = round(dk)

Зачем мне округлять? Потому что в итоге выдает что-то на подобии: D = (11.180339887498949+0j), что не очень удобно.
Пытаясь использовать функцию выдает следующее:
TypeError: type complex doesn't define __round__ method
  • Вопрос задан
  • 4257 просмотров
Решения вопроса 1
@deliro
1. Сходи в среднюю школу, где тебе расскажут, что такое комплексные числа
2. Прочитай книжку (любую) по программированию, где тебе расскажут, как работают float (а в данном случае два float — complex) в компухтерах
3.
In [2]: D = (11.180339887498949+0j)                                                                                                                                  

In [3]: complex(round(D.real), round(D.imag))                                                                                                                        
Out[3]: (11+0j)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Зачем вы вычисляете комплексное число, если оно вам не нужно?
import math

D = b**2 - 4*a*c;
dk = math.sqrt(D)
dk = round(dk)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы