LINUX.ORG.RU

История изменений

Исправление TheKnight, (текущая версия) :

1) Права доступа в Unix записываются в восьмиричном виде.

2) Тебе надо получить три трехбитовых числа, каждое из которых показывает правда доступа для одного из трех возможных случаев - пользователь, группа, остальные.

3) для отладки тебе пригодится функция bin(int number), возвращающая бинарное представление. Ну и её родственник oct(int number)

4) Что бы занулить биты в числе на определенной позиции тебе надо сделать логическое или с соотвествующей маской


In [23]: oct(0644 & 0007)
Out[23]: '04'

In [22]: oct(0644 & 0700)
Out[22]: '0600'

5) Дальше тебе надо проверить биты на определенной позиции.


In [32]: (4 & 0b100) >> 2 == 1
Out[32]: True

6) Если ты после этих подсказок не справишься с задачей - стоит задуматься о том, нужно ли учиться на программиста.

Исходная версия TheKnight, :

1) Права доступа в Unix записываются в восьмиричном виде.

2) Тебе надо получить три трехбитовых числа, каждое из которых показывает правда доступа для одного из трех возможных случаев - пользователь, группа, остальные.

3) для отладки тебе пригодится функция bin(int number), возвращающая бинарное представление.

4) Что бы занулить биты в числе на определенной позиции тебе надо сделать логическое или с соотвествующей маской


In [23]: oct(0644 & 0007)
Out[23]: '04'

In [22]: oct(0644 & 0700)
Out[22]: '0600'

5) Дальше тебе надо проверить биты на определенной позиции.


In [32]: (4 & 0b100) >> 2 == 1
Out[32]: True

6) Если ты после этих подсказок не справишься с задачей - стоит задуматься о том, нужно ли учиться на программиста.