Найти - Пользователи
Полная версия: Возвращение нескольких значений функции
Начало » Python для новичков » Возвращение нескольких значений функции
1
achilles175
Возникла такая проблема:Не получается вывести текст. Из-за обращения к функции выражение ‘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())
JOHN_16
код нужно оформлять в теги code. Отредактируйте ваше сообщение.
Rodegast
Не надо получать данные внутри функций, это делает её недетерминированной. Вот как надо делать:
 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 '))))
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