Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 16, 2014 18:01:42

Magys
Зарегистрирован: 2014-04-06
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Print выводит пустоту...

После окончания скрипта выводит пустоту…

import math
a = int(raw_input("Input numbers:"))
b = int(raw_input("Input numbers:"))
c = int(raw_input("Input numbers:"))
d = (b*b) - (4*a*c)
if d > 0:
x = ((- b + math.sqrt((b*b) - (4*a*c))) // 2*a) * 1
y = ((- b + math.sqrt((b*b) + (4*a*c))) // 2*a) * 1
print x, y
Синтаксис правильный… видать где то с логикой начудил..
Кто что подскажет.

Отредактировано Magys (Ноя. 16, 2014 18:02:07)

Офлайн

#2 Ноя. 16, 2014 18:06:00

ajib6ept
От: От: От: От: От: От: От: От:
Зарегистрирован: 2013-08-04
Сообщения: 297
Репутация: +  26  -
Профиль   Отправить e-mail  

Print выводит пустоту...

Возможно коэффициенты дают отрицательный дискриминант

import math
a = int(raw_input("Input numbers:"))
b = int(raw_input("Input numbers:"))
c = int(raw_input("Input numbers:"))
d = (b*b) - (4*a*c)
if d > 0:
    x = ((- b + math.sqrt((b*b) - (4*a*c))) // 2*a) * 1
    y = ((- b + math.sqrt((b*b) + (4*a*c))) // 2*a) * 1
    print x, y
else:
    print 'd <= 0'

Что происходит, если запустить?



_________________________
Python golden rule: Do not PEP 8 unto others; only PEP 8 thy self.
Don't let PEP 8 make you insanely intolerant of other people's code.

Офлайн

#3 Ноя. 16, 2014 18:09:56

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Print выводит пустоту...

вместо

a = int(raw_input("Input numbers:"))
b = int(raw_input("Input numbers:"))
c = int(raw_input("Input numbers:"))
можно писать
a = input("Input numbers:")
b = input("Input numbers:")
c = input("Input numbers:")
вот так у меня работает:
import math
a = input("Input numbers:")
b = input("Input numbers:")
c = input("Input numbers:")
d = (b*b) - (4*a*c)
if d > 0:
 x = (-b - math.sqrt(d)) / 2*a
 y = (-b + math.sqrt(d)) / 2*a
 print x, y
python test.py 
Input numbers:1
Input numbers:2
Input numbers:-3
-3.0 1.0



————————————————
-*- Simple is better than complex -*-

Отредактировано terabayt (Ноя. 16, 2014 18:12:23)

Офлайн

#4 Ноя. 16, 2014 18:12:39

Magys
Зарегистрирован: 2014-04-06
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Print выводит пустоту...

ajib6ept
Возможно коэффициенты дают отрицательный дискриминант
Если добавить ваш варинт
else:
print 'd <= 0'
В конце…
d <= 0
>>>
Я та понимаю что я не в полной мере описал условия? спс)

И последний вопрос
import math
a = int(raw_input("Input numbers:"))
b = int(raw_input("Input numbers:"))
c = int(raw_input("Input numbers:"))
d = (b*b) - (4*a*c)
if d > 0:
x = ((- b + math.sqrt(d)) // 2*a) * 1
y = ((- b + math.sqrt(d)) // 2*a) * 1
print x, y
elif d == 0:
x = -b // 2*a
print x
else:
d = 0
print "Нет корней"
Почему нужно ставить два “=”. Нагуглил…но пока не понял почему два..
elif d == 0:

Отредактировано Magys (Ноя. 16, 2014 18:48:08)

Офлайн

#5 Ноя. 16, 2014 18:56:49

alexsis
Зарегистрирован: 2013-07-26
Сообщения: 148
Репутация: +  9  -
Профиль   Отправить e-mail  

Print выводит пустоту...

Потому что “=” - присваивание, а “==” - сравнение

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version