В чем причина?
В отсутствии необходимых знаний.
Во-первых нужно понять, что вообще такое программа. Грубо говоря это определенный алгоритм на некотором языке программирования. Для того, чтобы понять, как этот алгоритм написать, нужно исходную задачу разбить на отдельные блоки. Допустим, с калькулятором будет так(упрощенно): вводим выражение - считываем и анализируем - вычисляем результат - выводим. Далее каждый из этих этапов, тоже можно разбить на более мелкие задачи, что в конечном итоге и приведет к набору инструкций на языке программирования.
Во-вторых Вам не помешает вводный курс, который разложит все по полочкам:
An Introduction to Interactive Programming in Python либо
Programming for Everybody
Также, можно попробовать курс
codeacademy, но тут больше на изучение синтаксиса акцент.
Что стоит еще прочесть, чтобы понять как сделать какую либо конкретную программу.
Любой материал, покрывающий курс CS101
Например, вот
Head first programming