Форум сайта python.su
Возникла такая проблема:Не получается вывести текст. Из-за обращения к функции выражение ‘y=%.1fx+%.1f’ % (k,b) игнорируется.Каков принцип вывода и как это исправить?Заранее спасибо!
def number1():
x1=float(input('x1 '))
y1=float(input('y1 '))
x2=float(input('x2 '))
y2=float(input('y2 '))
if x1==x2:
return 'y=inf'
else:
k=(y1-y2)/(x1-x2)
b=y1-k*x1
if b==0:
return 'y=%.1fx' %(k)
else:
return 'y=%.1fx+%.1f' % (k,b) , number1()
print (number1())
Отредактировано achilles175 (Июль 12, 2018 13:27:54)
Офлайн
код нужно оформлять в теги code. Отредактируйте ваше сообщение.
Офлайн
Не надо получать данные внутри функций, это делает её недетерминированной. Вот как надо делать:
def number1(x1,y1,x2,y2): if not x1 == x2: k = (y1-y2)/(x1-x2) b = y1-k*x1 if b: return 'y=%.1fx+%.1f' % (k,b) return 'y=%.1fx' %(k) return 'y=inf' while True: print(number1( float(input('x1 ')), float(input('y1 ')), float(input('x2 ')), float(input('y2 '))))
Отредактировано Rodegast (Июль 12, 2018 20:35:12)
Офлайн