Ответы пользователя по тегу Python
  • Методы или инструменты на python для построения маршрута на схематичной карте в игре?

    Vamp
    @Vamp
    Вам необходимо разбить карту на тайлы и воспользоваться одним из алгоритмов поиска пути.

    Например, A*. Это популярный алгоритм с большим количеством примеров по всему интернету. Наверняка найдется и готовая библиотека с его реализацией.
    Ответ написан
    1 комментарий
  • Как проверить хэш PHP функции crypt на Python?

    Vamp
    @Vamp
    Есть встроенная библиотека crypt

    from crypt import crypt
    
    print(crypt("hello world", "ab"))
    Ответ написан
    Комментировать
  • Почему разные выходные значения Java и Python?

    Vamp
    @Vamp
    Причина в том, что второй вызов метода вычисляется в значение, не влезающее в тип данных long. То есть возникает классический integer overflow. В java и php старшие биты, не поместившиеся в long, просто отбрасываются. В python и ruby на уровне языка поддерживается bignum арифметика, поэтому результат другой. То есть числа могут быть сколь угодно велики без опасности возникновения переполнения. В php такое тоже возможно при помощи модуля bcmath или gmp. В java аналогичную арифметику предоставляет класс BigInteger:

    import java.math.BigInteger;
    
    public class A {
        public static void main(String[] args) {
            BigInteger output_1 = generate(400732734464L, -74, 12);
            BigInteger output_2 = generate(1641401281110016L, 100, 14);
    
            System.out.println(output_1);
            System.out.println(output_2);
        }
    
        public static BigInteger generate(long val1, int val2, int val3) {
            return BigInteger.valueOf(val2 & 255)
                .add(BigInteger.valueOf(val1))
                .shiftLeft(val3);
        }
    }
    Ответ написан
    Комментировать