Различия между версиями 2 и 3
Версия 2 от 2017-11-20 00:10:05
Размер: 1600
Редактор: FrBrGeorge
Комментарий:
Версия 3 от 2017-11-20 00:10:35
Размер: 1606
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 42: Строка 42:
True

Написать класс Unary, реализующий единичную систему счисления. Палочное представление L числа N

  • создаётся из любой строки длиной N
  • представляется в виде строки из N символов "|"
  • имеет длину N
  • можно пройти циклом (при этом N раз возвращается палочная единица)
  • можно дополнить другим палочным числом K с помощью L |= K (при этом длина L увеличивается на длину K)

  • можно поделить пополам нацело с помощью ~L (лишняя палка исчезает)

  • можно дополнить одной палкой с помощью +L

Во всех случаях изменения числа идентификатор объекта сохраняется. Унарныеоперации не только изменяют объект, но и возвращают его.

   1 a = Unary("||")
   2 b = Unary("||||")
   3 print(a, b)
   4 a |= b
   5 print(a)
   6 print(~a)
   7 for c in a:
   8     print("  ",c)
   9     print(". ",+c)
  10     print("..",+c)
  11 ~a
  12 ~a
  13 print("Error" if a else a is a)

|| ||||
||||||
|||
   |
.  ||
.. |||
   |
.  ||
.. |||
   |
.  ||
.. |||
True

Текст после вывода — это тоже пояснения, не показываются.


CategoryHomework

LecturesCMC/PythonIntro2017/Homework_UnaryNumber (последним исправлял пользователь FrBrGeorge 2017-11-20 00:10:35)