Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 16, 2020 12:34:31

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1393
Репутация: +  124  -
Профиль   Отправить e-mail  

Расчет даты

medusa_01
А что делает строка def incomplete_quadratic_equation - для меня уже проблема
это функция,про которую вы позже узнаете,просто не дошли еще.
medusa_01
Собственно книга по которой я учусь может не совсем та
Наверное это книга больше о языке Python,которая показывает как на нем описывать алгоритмы.,но не объясняет что-такое программирование.
Здесь аналогия такая,допустим в уме сначала вы собираете смыслы о том что хотите сказать(алгоритм=расстановка в правильном порядке смыслов). Теперь когда смыслы составлены,мы воспроизводим эти смыслы в виде слов на языке воспроизведения(русский,английский,немецкий).
Улавливаете где программирование,а где воспроизведение на языке
Программирование тема-конечно обширнее,чем я привел пример,но она про логику,последовательность,не противоречие информации и тд.и тп.,а на каком языке писать это уже второй вопрос.

Тут одной книгой не обойдешься,надо об одном и том же читать из разных источников,книги,сайты ,видео,
если изучаете уловные операторы,о них собираете информацию везде,потом будут циклы,функции,массивы и тд.


Офлайн

#2 Дек. 16, 2020 23:59:10

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Расчет даты

medusa_01
Постарался исправить. Не ругайтесь сильно:
Так лучше. Но тоже не до конца сделано.

Почему у тебя, когда A = 0, в конце выводится x1 = … и x2 = … ? Там никаких x1 и x2 нет, там только x есть.
При этом когда дискриминант равен нулю, получается два корня, которые просто равны одному и тому же числу.

Поэтому ты должен вывести в случае вычисления квадратного уравнения два получившихся корня x1 и x2, а в случае вычисления линейного уравнения один получившийся корень x.

Доделай его.



Офлайн

#3 Дек. 17, 2020 20:15:59

medusa_01
Зарегистрирован: 2020-11-14
Сообщения: 33
Репутация: +  1  -
Профиль   Отправить e-mail  

Расчет даты

py.user.next
Вот для начала это напиши.
С числами - все понял, тут, вроде. ничего сложного. Постарался исправить. Не ругайтесь сильно:
 # ax*x + bx +c = 0
A = int(input('A = '))
B = int(input('B = '))
C = int(input('C = '))
if A != 0:
    # квадратное уравнение
    dis = B**2 - 4*A*C
    if dis > 0:
        x1 = (-B + dis**0.5) / (2*A)
        x2 = (-B - dis**0.5) / (2*A)
        result = 'два корня'
    elif dis == 0:
        x1 = (-B) / (2*A)
        x2 = x1
        result = 'один корень'
    else : # дискриминант меньше нуля
        x1 = 0
        x2 = 0
        result = 'корней нет'
elif A == 0:
    x1 = (-C) / B
    x2 = x1
    result = 'один корень'
print ('a =', A,'b =', B,'c =', C)
print (result)
print ('x1 = {:.2f}'.format(x1), 'x2 = {:.2f}'.format(x2))

Офлайн

#4 Дек. 17, 2020 20:21:27

medusa_01
Зарегистрирован: 2020-11-14
Сообщения: 33
Репутация: +  1  -
Профиль   Отправить e-mail  

Расчет даты

xam1816
Тут одной книгой не обойдешься,надо об одном и том же читать из разных источников,книги,сайты ,видео,
если изучаете уловные операторы,о них собираете информацию везде,потом будут циклы,функции,массивы и тд.
Это я понимаю. просто привык к такому порядку - поэтапное и зучение источников. Может это не совсем правильно. но по другому не получается. У меня, во всяком случае. Просто в разных источниках одно и то-же описано по разному. В итоге в голове каша. Я так старался изучить PHP. В итоге пришлось вернуться к привычному порядку - быть может так дольше, но мне удобней, что-ли.))

Офлайн

#5 Дек. 17, 2020 20:23:32

medusa_01
Зарегистрирован: 2020-11-14
Сообщения: 33
Репутация: +  1  -
Профиль   Отправить e-mail  

Расчет даты

py.user.next
Доделай его.
Поннял. Буду править. Спасибо..

Офлайн

#6 Дек. 17, 2020 21:36:57

medusa_01
Зарегистрирован: 2020-11-14
Сообщения: 33
Репутация: +  1  -
Профиль   Отправить e-mail  

Расчет даты

py.user.next
Поэтому ты должен вывести в случае вычисления квадратного уравнения два получившихся корня x1 и x2, а в случае вычисления линейного уравнения один получившийся корень x.
Мне очень стыдно, но я не знаю и не представляю. как это слделать.
 #ax*x + bx +c = 0
A = int(input('A = '))
B = int(input('B = '))
C = int(input('C = '))
if A != 0:
    # квадратное уравнение
    dis = B**2 - 4*A*C
    if dis > 0:
        x1 = (-B + dis**0.5) / (2*A)
        x2 = (-B - dis**0.5) / (2*A)
        result = 'два корня'
    elif dis == 0:
        x1 = (-B) / (2*A)
        x2 = x1
        result = 'один корень'
    else : # дискриминант меньше нуля
        x1 = 0
        x2 = 0
        result = 'корней нет'
elif A == 0: # линейное уравнение
    x = (-C) / B
    result = 'один корень'
print ('a =', A,'b =', B,'c =', C)
print (result)
print ('x1 = {:.2f}'.format(x1), 'x2 = {:.2f}'.format(x2))
куда бы я ни пытался вставить print ('x = {:.2f}'.format(x)) - я всегда получаю ошибку((((

Эта запись не правильная. А как правильно - не понимаю.((( Помогите. Спасибо.((

Отредактировано medusa_01 (Дек. 17, 2020 21:52:28)

Офлайн

#7 Дек. 17, 2020 23:07:25

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Расчет даты

medusa_01
Эта запись не правильная. А как правильно - не понимаю.
Для этого нужно в каждой ветви сделать свои print'ы. То есть в одной ветви одни принты идут с одним набором корней, а в другой ветви другие принты идут с другим набором корней. А если была бы ещё третья ветвь, то там тоже надо было бы делать свой собственный вывод.

Вот сделай это. Неважно, как оно будет смотреться, красиво или некрасиво, главное, чтобы оно правильно работало. А красивостями ты начинаешь заниматься тогда, когда всё правильно работает, а не наоборот. Заниматся красивостями до того, как ты написал правильный код, нельзя, так как это закончится тем, что у тебя не будет правильного кода в итоге, потому что всё время уйдёт на украшения того, чего нет.

По вычислениям у тебя всё правильно. У тебя вывод результатов не сделан, потому что ты свёл его в одну точку, а он точно так же является сложным, как и вычисления.

Сделай так, чтобы при вычислении квадратного уравнения оно писало один вывод, а при вычислении линейного уравнения оно писало другой вывод.



Отредактировано py.user.next (Дек. 17, 2020 23:19:47)

Офлайн

#8 Дек. 18, 2020 09:05:54

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1393
Репутация: +  124  -
Профиль   Отправить e-mail  

Расчет даты

medusa_01
Мне очень стыдно, но я не знаю и не представляю.
Ваш код читаю:
Пример
a=0
b=2
c=4
Если а!=0 делать следующее(#false,утверждение не верно)
Ниже в этом блоке ничего выполнятся не будет
Иначе если а==0 делать следующее(#True,утверждение верно):
Создаю переменную x ,присваиваю ей значение равное выражению -4/2(переменная х==-2)
Создаю переменную result,присваиваю ей значение “один корень”
Вывести в консоль “а”=0,b=2,c=4
Вывести значение result(один корень)
высти x1={подставить между скобок значение x1 равное ?????эээээ,а где x1,что происходит,помогите,)
Выдаю ошибку имя x1 не найдено,(по английскому is not defined

Отредактировано xam1816 (Дек. 18, 2020 14:23:33)

Офлайн

#9 Дек. 20, 2020 16:55:31

medusa_01
Зарегистрирован: 2020-11-14
Сообщения: 33
Репутация: +  1  -
Профиль   Отправить e-mail  

Расчет даты

xam1816
Вывести значение result(один корень)
высти x1={подставить между скобок значение x1 равное ?????эээээ,а где x1,что происходит,помогите,)

Супер))) Никогда ранее обучение небыло так здоровски. Спасибо ))) К слову купил книгу “Начинаем программировать на Python”. Может с Вашей точки зрения это и не самая умная книга. но для новичка я думаю пойдет.

Отредактировано medusa_01 (Дек. 20, 2020 17:04:25)

Офлайн

#10 Дек. 20, 2020 16:58:48

medusa_01
Зарегистрирован: 2020-11-14
Сообщения: 33
Репутация: +  1  -
Профиль   Отправить e-mail  

Расчет даты

py.user.next
По вычислениям у тебя всё правильно. У тебя вывод результатов не сделан, потому что ты свёл его в одну точку, а он точно так же является сложным, как и вычисления.

Сделай так, чтобы при вычислении квадратного уравнения оно писало один вывод, а при вычислении линейного уравнения оно писало другой вывод.

Спасибо. Я в принципе и думал разнести print , но почему-то побоялся это сделать - я забыл древнюю мудрость:“Если не можешь пвлиять на проблему нужно принять проблему, как факт”. Еще раз спасибо.

Отредактировано medusa_01 (Дек. 20, 2020 16:59:07)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version