Во-первых, ваше условие цикла представляет собой бесконечный цикл, потому что вы сравниваете переменные с ... самими собой.Таким образом, вы можете заменить на while True:
(допустимо для обеих версий Python)
Теперь проблемный код такой:
Start_time_hours += (Start_time_minutes / 60)
в Python 3, / 60
выполняет деление с плавающей запятой, дажемежду целочисленными операндами.В результате теперь Start_time_hours
является плавающей точкой и никогда не может быть равным End_time_hours
, что является целым числом (тест if Start_time_hours_format == End_time_hours_format
всегда не выполняется, особенно потому, что вы конвертируете оба в строку).
Исправление (работает для обеих версий) - принудительное целочисленное деление:
Start_time_hours += (Start_time_minutes // 60)
Кроме того, выполнение str(something)
в одной строке не приведет к превращению этого something
в строку, если только выназначьте его обратно на something
.Вы можете удалить все эти утверждения, так как они в любом случае бесполезны.