Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 01.08.2019, 05:54   #1
Novyi
Новичок
 
Регистрация: 01.08.2019
Сообщений: 1
Репутация: 10
По умолчанию Моя первая прога

Здравствуйте!
Прошу дать оценку моей первой проги. Какие недостатки? Как можно лучше? Как бы сделали Вы?

Код:
print('Решение уравнения ax^2+bx+c=0')
a = int(input('Введите a: '))
b = int(input('Введите b: '))
c = int(input('Введите c: '))
D = b ** 2 - 4 * a * c
print('D= ', D)
if(D < 0):
    print('Корней нет')
elif(a == b == 0):
    print('Уравнения не существует!')
elif(b == 0):
    x1 = (- b + D ** 0.5) / (2 * a)
    x2 = (- b - D ** 0.5) / (2 * a)
    print('x1=', x1)
    print('x2=', x2)
    z1 = a * x1 ** 2 + b * x1 + c
    z2 = a * x2 ** 2 + b * x2 + c
    print('Проверка по x1: ', round(z1))
    print('Проверка по x2: ', round(z2))
elif (a == 0):
    x = - c / b
    print('x1=x2=', x)
    z = a * x ** 2 + b * x + c
    print('Проверка: ', z)
else:
    x1 = (- b + D ** 0.5) / (2 * a)
    x2 = (- b - D ** 0.5) / (2 * a)
    print('x1=', x1)
    print('x2=', x2)
    z1 = a * x1 ** 2 + b * x1 + c
    z2 = a * x2 ** 2 + b * x2 + c
    print('Проверка по x1: ', round(z1))
    print('Проверка по x2: ', round(z2))
print('The End')
______________________
Используйте тег [CODE] (кнопка [CODE] в форме сообщения) при вставке кода на форум. Подробнее в FAQ

Последний раз редактировалось Alex11223; 01.08.2019 в 09:03.
Novyi вне форума   Ответить с цитированием
Старый 01.08.2019, 09:00   #2
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,993
Репутация: 6725
По умолчанию

Ветка с b=0 не нужна, уравнение все равно в общем виде решается
И какие x1=x2 для a=0? Там ровно один корень для линейного уравнения )
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума   Ответить с цитированием
Старый 01.08.2019, 10:54   #3
ViktorR
Профессионал
 
Регистрация: 23.10.2010
Сообщений: 1,362
Репутация: 644
По умолчанию

Попробуй так:
Код:
print('Решение уравнения ax^2+bx+c=0')
a = int(input('Введите a: '))
b = int(input('Введите b: '))
c = int(input('Введите c: '))
if ((a == 0) and (b == 0)):
    print('Уравнения не существует!')
else:
    D = b ** 2 - 4 * a * c
    print('D= ', D)
    x1 = (- b + D ** 0.5) / (2 * a)
    x2 = (- b - D ** 0.5) / (2 * a)
    print('x1=', x1)
    print('x2=', x2)
    z1 = a * x1 ** 2 + b * x1 + c
    z2 = a * x2 ** 2 + b * x2 + c
    print('Проверка по x1: ', (z1))
    print('Проверка по x2: ', (z2))
print('The End')
Это работает, например, при a = 5, b = 10 и c = 11.

Такой принцип записи (a == b == 0) конечно сработает и он покороче,
но такой ((a == 0) and (b == 0)), на мой взгляд, понятнее и сработает и в других языках.
__________________
Как-то так, ...
ViktorR вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
первая прога под Win Lotles Assembler 6 22.02.2012 16:35
Первая прога с переменными на Яве Syltan Общие вопросы по Java, Java SE, Kotlin 7 15.05.2010 09:57
Super WallHack - моя первая прога f1xed Софт 3 15.02.2010 08:18
Моя первая прога на Delphi Fire ShadoW Софт 13 04.02.2010 17:02
Моя первая Прога (Блокнот) DestroeR Софт 11 28.06.2007 22:18


06:55.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.