Я приступил к изучению 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?"
Надеюсь это не слишком сильно напрягает.