Вычисление площади поверхности цилиндра (Python)

Тема: 
Линейные алгоритмы

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

Пользователь вводит диаметр и высоту бака, а также какую площадь можно окрасить одной банкой краски.

Чтобы понять, сколько банок краски потребуется, надо знать площадь цилиндра. Она представляет собой сумму площадей двух кругов (крышка баки и дно) и площади непосредственно цилиндрической поверхности. Кроме того, если бак красится и изнутри, найденную площедь следует умножить на 2.

Площадь круга через диаметр равна pi * d2 / 4.
Площадь цилиндра: pi * d * h (где d и h - диаметр и высота цилиндра).

d = input("Диаметр бака: ")
d = float(d)
h = input("Высота бака: ")
h = float(h)
S = input("Окрашиваемая площадь одной банкой: ")
S = int(S)
 
import math
 
circle = math.pi * d**2 / 4 
cylinder = math.pi * d * h
total = circle * 4 + cylinder * 2 # учитываем и внутреннюю поверхность
qty = total / S # количество банок краски
qty = int(qty) + 1 
print("Количество требуемых банок:", qty)

Выражение int(qty) + 1 требуется, если надо найти целое значение количества банок (ведь пол банки не купишь).

В программе заложена

В программе заложена логическая ошибка.

А ну как количество банок qty окажется целым числом, скажем ровно 10? Тогда придется закупить 11 банок?

В качестве эксперимента предлагаю ввести следующие данные:

d = 5
h = 2
S = 14.137166941

и посмотреть на результат.