LINUX.ORG.RU

функции ретурны и формула

 


0

2

Я приступил к изучению python по книге «python the hard way» В 21 задании в качестве упражнения мы получили головоломку выглядит она так

what = add(age,multiple(iq, substract(weight, divide(height,4))))

Раньше это бы напугало меня, но я решил задачку вручную с помощью интерпритатора python. В конце главы автор предлагает нам сделать некуюформулу "Try 24 + 34 / 100 - 1023 as a start. Convert that to use the functions. Now come up with your own similar math equation and use variables so it's more like a formula." Я долго ломал голову но единственное что смог написать это пошаговое решение, вот код
 
first_step = divide(height,4)
two_step = substract(weight, first_step)
three_step = multiple(iq, two_step)
four_step = add(age, three_step)

Как бы вы решили данную задачу для получения формулы решения?

вот весь исходник

def add(a, b):
	print "ADDING %d + %d" % (a, b)
	return a + b

def substract(a, b):
	print "ADDING %d - %d" % (a, b)
	return a - b

def multiple(a, b):
	print "ADDING %d * %d" % (a, b)
	return a * b

def divide(a, b): 
	print "ADDING %d / %d" % (a, b)
	return a / b

print "Let's do some math with just functions!"

age = add(20, 6)
height = substract(200, 20)
weight = multiple(40, 2)
iq = divide(190, 2)

print "age: %d, height: %d, weight: %d, iq: %d" % (age, height, weight, iq)
what = add(age,multiple(iq, substract(weight, divide(height,4))))

first_step = divide(height,4)
two_step = substract(weight, first_step)
tree_step = multiple(iq, two_step)
four_step = add(age, tree_step)

print four_step
print "That becomes:", what, "Can you do it by hand?"


Надеюсь это не слишком сильно напрягает.

Я долго ломал голову но единственное что смог написать это пошаговое решение, вот код

Ну вот, теперь сделай из этого формулу. Например:

first_step = divide(height,4)

замени на height / 4. Подставь это в

two_step = substract(weight, first_step)

получится two_step = substract(weight, height / 4) (кстати, правильно «subtract»). Потом замени его на арифметическую запись в стандартной нотации, как показано на first_step. И так далее.

proud_anon ★★★★★
()
Последнее исправление: proud_anon (всего исправлений: 1)
Ответ на: комментарий от theNamelessOne

Да нет, я понял как эта композиция работает, я видимо не понял что имел ввиду автор когда приказал сделать из данной композиции формулу :\

techno_bot
() автор топика
Ответ на: комментарий от techno_bot

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

theNamelessOne ★★★★★
()

Просто иди на hackerrank да решай все подряд.

loz ★★★★★
()

what = add(age,multiple(iq, substract(weight, divide(height,4))))

what = (age + (iq * (weight - (height / 4))))

ну и скобки раскрыть. не?

bvn13 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.