EDIT: Code2 может ошибочно вернуть num3 как max, если num1 == num2, ie в [6, 6, 5].
Основное отличие, как отмечалось выше, заключается в использовании «больше, чем» против «больше или равно». Я думаю, что единственное место, где это имеет значение, - это когда у вас есть несколько значений в списке, которые равны, и в этом случае Code2 вернет первый экземпляр, тогда как Code3 вернет последний.