Your function should return a multiline string of unique lowercase letters in alphabetical order. The characters should be placed in a form of hollow rhombus (diamond), along its edges, starting from the top vertex.
For this purpose you are given three values (for their constraints see Preconditions):
- side - number of letters in each side of the rhombus;
- length - total number of letters you should use;
- cw - clockwise flag, which shows in what direction the letters must go (if True - letters should be placed in clockwise direction).
If it's not enough length to complete the form, complement it with "*". The rhombus should not have white spaces at the right. Here is an example with arguments and expected result:
Input: Three arguments: side as integer (int), length as integer (int) and clockwise flag as logic (bool).
Output: Multiline string (str).
assert hollow_diamond(3, 8, True) == " a\n h b\ng c\n f d\n e" assert hollow_diamond(3, 6, False) == " a\n b *\nc *\n d f\n e" assert ( hollow_diamond(4, 10, False) == " a\n b *\n c *\nd j\n e i\n f h\n g" ) assert ( hollow_diamond(5, 16, True) == " a\n p b\n o c\n n d\nm e\n l f\n k g\n j h\n i" )
- 26 >= length >= 0;
- side > 1;
- (side-1)*4 >= length.
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
(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 --ff
checkio install-plugin --chromium