Найти - Пользователи
Полная версия: Помогите пожалуйста с простой задачкой.
Начало » Python для новичков » Помогите пожалуйста с простой задачкой.
1 2 3 4
FishHook
   x1 = (-b + math.sqrt(D))/2*a
   x2 = (-b - math.sqrt(d))/2*a
а почему во второй строчке D сильно похудела?
Astal
FishHook
Вот я растяпа… спасибо огромное! а вариант с функцией нельзя переделать, чтобы с клавиатуры вводилось?
FishHook

Astal
а вариант с функцией нельзя переделать, чтобы с клавиатуры вводилось?
можно
Singularity
a = float(input("a= "))
b = float(input("b= "))
c = float(input("c= "))
def PrintRoots(a, b, c):
    D = b**2 - 4 * a * c
    if D < 0:
        return None, None
    import math
    x1 = (-b + math.sqrt(D)) / 2 * a
    x2 = (-b - math.sqrt(D)) / 2 * a
    return x1, x2
print(PrintRoots(a, b, c))
s-y@Deep-Blue:~$ python3 test.py
a= 44
b= 888
c= -777
(1626.3076246424503, -40698.30762464245)
s-y@Deep-Blue:~$ 
Все ок.
bismigalis
def roots(a, b, c):
    D = b**2 - 4 * a * c
    print(D)
    if D < 0:
        return None, None
    import math
    x1 = (-b + math.sqrt(D)) / 2 * a
    x2 = (-b - math.sqrt(D)) / 2 * a
    return x1, x2
if __name__ == '__main__':
   a = float(input("a= "))
   b = float(input("b= "))
   c = float(input("c= "))
   print(roots(a, b, c))
Astal
Спасибо, ребят! Кстати я также пробовал только в конце писал PrintRoots(a,b,c) … почему print(PrintRoots(a,b,c))?
FishHook
Если учишься программировать, то иногда полезно вместо компьютера самому на бумажке пройти всю программу. Сделай это и поймешь зачем принт нужен.
Astal
FishHook
Если учишься программировать, то иногда полезно вместо компьютера самому на бумажке пройти всю программу. Сделай это и поймешь зачем принт нужен.
Спасибо за совет. Обязательно буду пользоваться.
agalen
В книге косяк.
Вмето
    x1 = (-b + math.sqrt(D)) / 2 * a
    x2 = (-b - math.sqrt(D)) / 2 * a
должно быть
    x1 = (-b + math.sqrt(D)) / (2 * a)
    x2 = (-b - math.sqrt(D)) / (2 * a)

Еще сразу после примера в книге написано:
“Итак, уравнение 3x2 + x = 0 корней не имеет” - это совсем те так (корни 0 и -1/3).
Astal
agalen
В книге косяк.
Вмето

x1 = (-b + math.sqrt(D)) / 2 * a
x2 = (-b - math.sqrt(D)) / 2 * a

должно быть

x1 = (-b + math.sqrt(D)) / (2 * a)
x2 = (-b - math.sqrt(D)) / (2 * a)
а скобки разве принципиальны у левой части в скобках приоритет, разве нет?

agalen
Еще сразу после примера в книге написано:
“Итак, уравнение 3x2 + x = 0 корней не имеет” - это совсем те так (корни 0 и -1/3).

действительно корни есть… может другой учебник поискать.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB