I think the code above by @user2232395 has been crippled by copy/pasting. Looking at the UTM zone map, it looks like the indentation is wrong. Also, there is a "fix" missing for Norway. I think it should be:
def getZones(lon, lat):
"get UTM zone number from latitude and longitude"
if lat >= 72.0 and lat < 84.0: