Язык Wolfram Language

Облачное хранение и веб-интерфейсы

Создание веб-формы для расчета маргинальный налоговой ставки

Зачастую расчеты связанные с налогами слишком сложны, чтобы быть эффективно встроенными в одну веб-форму. AskFunction позволяет совершать вычисления более простым, интуитивным способом.

In[1]:=
Click for copyable input
CloudDeploy[AskFunction[Module[{bracket, tax, income}, bracket = Ask[{"brackets", "What is your marital status?"} -> {"Married filing jointly" \ -> {18550, 75300, 151900, 231450, 413350, 466950}, "Single" -> {9275, 37650, 91150, 190150, 413350, 415050}, "Head of household" -> {13250, 50400, 130150, 210800, 413350, 441000}, "Married filing separately" -> {9275, 37650, 75950, 115725, 206675, 233475}}]; income = Ask[{"income", "What was your income in 2015"} -> Restricted["Number", {0, Infinity}]]; tax = Integrate[ Piecewise[{{.10 , 0 <= x <= bracket[[1]]}, {.15, bracket[[1]] < x <= bracket[[2]]}, {.25, bracket[[2]] < x <= bracket[[3]]}, {.28, bracket[[3]] < x <= bracket[[4]]}, {.33, bracket[[4]] < x <= bracket[[5]]}, {.35, bracket[[5]] < x <= bracket[[6]]}, {.396, True}}], {x, 0, income - If[Ask[{"deps", "Do you have any dependents?"} -> {"Yes" -> True, "No" -> False}], Ask[{"nodeps", "How many?"} -> Restricted["Integer", {0, Infinity}]]* 4050, 0]}]; AskTemplateDisplay[ Column[{"You owe $" <> ToString[tax] <> " in taxes.", "Your marginal tax rate is " <> ToString[Round[100.*tax/#income, 0.1]] <> "%", PieChart[{tax, income}]}] &] ]]]
Out[1]=

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

Родственные примеры

de en es fr ja ko pt-br zh