Cistercian Converter I: Integer To Cistercian

Cistercian Converter I: Integer To Cistercian

The mission is in Blocked Mode. Access to the solutions is blocked for a day or two (even after you share your own), until we'll have enough solutions for you to check. All users who've solved the mission will get the notifications about their opening.

The Cistercian number-notation was invented in the late 13th century by Cistercian monks, near the border region between France and Belgium. For two centuries, the number system was used by monks belonging to the order across all of Europe as an alternative to the well-known Roman numerals and the ‘novel’ Hindu-Arabic numerals, the latter of which were just beginning to get adopted at the time.

The monks used this system to represent year-numbers in dates, and to number staves of music and pages of manuscripts, but it also proved useful outside of the monasteries. We know the numerical notation was used in astronomy because Cistercian numerals were etched on astrolabes — a handheld medieval astronomical instrument — and used for astronomical tables compiled in Salamanca in the late 15th century.

But since Cistercian numbers are useful for representing only compact numbers up to 9999, as well as due to the fact that they were challenging to print, the system soon fell out of grace in favor of the much more flexible Hindu-Arabic numbering system. However, Cistercian ciphers would survive in use as secret codes. The Freemasons in Paris adopted it in 1780, as well as occultists and Nazis who re-discovered the Cistercian numeral system in the early 20th century.

These numbers are represented by nine appendages to vertical stems that each correspond to units, tens, hundreds, and thousands. Each of the four different orientations can be represented by changing the coordinates. So, practically, changing the coordinate of each ligature — either by rotating or mirroring them — can alter the digit from being a unit to a thousand. When the appendages are combined on a single stem, you get a cipher representing any number from 1 to 9999. Omitting a digit from a corner meant a value of zero for that power of ten, but there was no digit zero. (That is, an empty stave was not defined.)

example

Here are the Cistercian numbers for 1-9 digits and their corresponding representations in the mission as list of 7 lists of 5 " "'s and "0"'s.

example

In the mission you are given an integer and you need to return the Cistercian number representation of this number. You may also try the reversed mission Cistercian Converter II: Cistercian To Integer. There is also a site dCode with a visual two-way converter for Cistercian numbers.

Input: Integer (int).

Output: List of lists of strings (str).

Examples:

assert cistercian(4) == [
    [" ", " ", "0", " ", "0"],
    [" ", " ", "0", "0", " "],
    [" ", " ", "0", " ", " "],
    [" ", " ", "0", " ", " "],
    [" ", " ", "0", " ", " "],
    [" ", " ", "0", " ", " "],
    [" ", " ", "0", " ", " "],
]
assert cistercian(50) == [
    ["0", "0", "0", " ", " "],
    [" ", "0", "0", " ", " "],
    [" ", " ", "0", " ", " "],
    [" ", " ", "0", " ", " "],
    [" ", " ", "0", " ", " "],
    [" ", " ", "0", " ", " "],
    [" ", " ", "0", " ", " "],
]
assert cistercian(600) == [
    [" ", " ", "0", " ", " "],
    [" ", " ", "0", " ", " "],
    [" ", " ", "0", " ", " "],
    [" ", " ", "0", " ", " "],
    [" ", " ", "0", " ", "0"],
    [" ", " ", "0", " ", "0"],
    [" ", " ", "0", " ", "0"],
]
assert cistercian(7000) == [
    [" ", " ", "0", " ", " "],
    [" ", " ", "0", " ", " "],
    [" ", " ", "0", " ", " "],
    [" ", " ", "0", " ", " "],
    ["0", " ", "0", " ", " "],
    ["0", " ", "0", " ", " "],
    ["0", "0", "0", " ", " "],
]
Settings
Code:
Other:
Invalid hot key. Each hot key should be unique and valid
Hot keys:
CheckiO Extensions

CheckiO Extensions allow you to use local files to solve missions. More info in a blog post.

In order to install CheckiO client you'll need installed Python (version at least 3.8)

Install CheckiO Client first:

pip3 install checkio_client

Configure your tool

checkio --domain=py config --key=

Sync solutions into your local folder

checkio sync

(in beta testing) Launch local server so your browser can use it and sync solution between local file end extension on the fly. (doesn't work for safari)

checkio serv -d

Alternatevly, you can install Chrome extension or FF addon

checkio install-plugin
checkio install-plugin --ff
checkio install-plugin --chromium

Read more here about other functionality that the checkio client provides. Feel free to submit an issue in case of any difficulties.

Pair Programming (Beta-version)

Welcome to Pair Programming! Engage in real-time collaboration on coding projects by starting a session and sharing the provided unique URL with friends or colleagues. This feature is perfect for joint project development, debugging, or learning new skills together. Simply click 'Start Session' to begin your collaborative coding journey!

Waiting for Pair Programming to start...

You are trying to join a pair programming session that has not started yet.

Please wait for the session creator to join.

Waiting for Pair Programming to reconnect...

It looks like the creator of the pair programming session closed the editor window.

It might happen accidentally, so that you can wait for reconnection.

×
 
 
<< <
> >>
exec show

Whats Next?

Free accounts will see Best CheckiO solutions with some delay.
Best Solutions will be opened in a moment
Become Awesome and Don't wait
The next stage is ""
Will be activated in
View More Solutions Random Review Solutions Go to the next mission