Я попытался написать код, используя советование из Zed Shaw ниже:Learn Python The Hard Way, EX21 Q3
Что вы подразумеваете под «выписать формулу»? Попробуйте 24 + 34/100 - 1023 в начале. Преобразуйте это, чтобы использовать функции.
Вот мой код:
def add(a, b):
print "Adding %s + %s" % (a, b)
return a + b
def divide(a, b):
print "Dividing %r/%r" % (a, b)
return a/b
def subtract(a, b):
print "Subtracting %s - %s" % (a, b)
return a - b
cats = (24)
dogs = subtract(100, 1023)
monsters = divide(34.0, 100)
print "cats: %r, dogs: %r, monsters: %r" % (cats, dogs, monsters)
Result = subtract(dogs, add(cats, divide(monsters,1)))
print "That becomes:", Result, "Can you do it by hand?"
Проблема заключается в том, что, когда я вычислить 24 + 34/100 - 1023 вручную я получаю всего -998.6. Но мой код выше дает мне - 947.34. Мне интересно, где моя ошибка. Как должен выглядеть правильный код для этого 24 + 34/100 - 1023?
Или у меня есть тот же код немного изменен, и все еще иметь другой результат: -981,34:
def add(a, b):
print "Adding %s + %s" % (a, b)
return a + b
def divide(a, b):
print "Dividing %r/%r" % (a, b)
return a/b
def subtract(a, b):
print "Subtracting %s - %s" % (a, b)
return a - b
cats = add(24, 34)
dogs = subtract(100, 1023)
monsters = divide(34.0, 100)
print "cats: %r, dogs: %r, monsters: %r" % (cats, dogs, monsters)
Result = subtract(dogs, add(cats, divide(monsters,100)))
print "That becomes:", Result, "Can you do it by hand?"
Спасибо за вашу помощь и куски посоветуйте.