Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 13, 2013 11:52:14

Alex9
Зарегистрирован: 2013-02-10
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Решение квадратного уравнения с действительными коэффициентами включая 0

#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
import sys, math, cmath
 
if len(sys.argv) != 4:
    sys.exit(u"Usage: %s a b c" % sys.argv[0])
print u"Square equation: %s · xІ + %s · x + %s = 0" % tuple(sys.argv[1:])
a = float(sys.argv[1])
b = float(sys.argv[2])
c = float(sys.argv[3])
if a == 0 and b == 0 and c == 0:
 sys.exit(u"C")
if b == 0 and c == 0:
 sys.exit(u"Root: 0")
if a == 0 and c == 0:
 sys.exit(u"Root: 0")
if a == 0 and b == 0:
 sys.exit(u"No root")
if c == 0:
 print u"Root1: 0"
 sys.exit(u"Root2: " + str(- b / a))
if b == 0:
 if c > 0:
  print u"Root1: " + str(math.sqrt(- c / a))
  sys.exit(u"Root1: " + str(- math.sqrt(- c / a)))
 else:
  print u"Root1: " + str(cmath.sqrt(- c / a))
  sys.exit(u"Root1: " + str(- cmath.sqrt(- c / a)))
if a == 0:
 sys.exit(u"Root:" + str(- c / b))
d = b * b - 4 * a * c
if d < 0:
 print u"Root 1:" + str((- b + cmath.sqrt(d)) / (2 * a))
 sys.exit(u"Root2:" + str((- b - cmath.sqrt(d)) / (2 * a)))
else: 
 print u"Root 1:" + str((- b + math.sqrt(d)) / (2 * a))
 sys.exit(u"Root2:" + str((- b - math.sqrt(d)) / (2 * a)))
Вот мой код. У меня при комплексных корнях выдает ошибку.

Отредактировано Alex9 (Фев. 13, 2013 16:55:33)

Офлайн

#2 Фев. 13, 2013 12:01:25

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Решение квадратного уравнения с действительными коэффициентами включая 0

Может я неправильно понял, но как у Вас

if any(float(coeff) == 0 for coeff in sys.argv[1:]):
        sys.exit(u"Coefficients must be non-zero")
и
if b == 0 and c == 0:
В чем смысл проверять на нули если нулей быть не может?



Офлайн

#3 Фев. 13, 2013 16:51:13

Alex9
Зарегистрирован: 2013-02-10
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Решение квадратного уравнения с действительными коэффициентами включая 0

Спасибо, это от предыдущей задачи осталось. Отредактировал. Можете подсказать, есть ли сейчас ошибки в коде ?

Офлайн

#4 Фев. 14, 2013 05:37:39

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Решение квадратного уравнения с действительными коэффициентами включая 0

Alex9
Отредактировал.
Не стесняйтесь, показывайте.



Офлайн

#5 Фев. 14, 2013 06:26:51

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Решение квадратного уравнения с действительными коэффициентами включая 0

Видимо ТС отредактировал 1й пост с кодом и там просит еще раз посмотреть.

Офлайн

#6 Фев. 14, 2013 09:05:28

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Решение квадратного уравнения с действительными коэффициентами включая 0

В коде стартового поста ничего не изменилось.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version