Convert text into multiple columns
Level: Advanced (score: 4)
You run a news site and you got feedback that people read more if articles are printed in 2 or more columns instead of long walls of text.
Oh no! There are 200 articles in the database that need to be reformatted!
The good news though is that you know Python so you decide to come up with a nice function to do this tedious work for you.
And that's where our Bite comes in: complete text_to_columns
which takes a text and splits it into columns (COL_WIDTH
is set to 20).
The amount of double newlines (\n\n) in the text decides how many columns there will be so we can assume you are delivered the text in this preformatted way.
It's best to show you some examples how this would work, see the examples here:
1 paragraph == 1 columns:
text = """My house is small but cosy.""" text_to_columns(text) produces: My house is small but cosy.
2 paragraphs == 2 columns:
text = """My house is small but cosy. It has a white kitchen and an empty fridge.""" text_to_columns(text) produces: My house is small It has a white but cosy. kitchen and an empty fridge.
3 paragraphs == 3 columns:
text = """My house is small but cosy. It has a white kitchen and an empty fridge. I have a very comfortable couch, people love to sit on it.""" text_to_columns(text) produces: My house is small It has a white I have a very but cosy. kitchen and an empty comfortable couch, fridge. people love to sit on it.
4 paragraphs == 4 columns:
text = """My house is small but cosy. It has a white kitchen and an empty fridge. I have a very comfortable couch, people love to sit on it. My mornings are filled with coffee and reading, if only I had a garden""" text_to_columns(text) produces: My house is small It has a white I have a very My mornings are but cosy. kitchen and an empty comfortable couch, filled with coffee fridge. people love to sit and reading, if only on it. I had a garden
Get to know the the standard library ... we reckon you probably want to leverage at least 2 modules for this. As this is an Advanced Bite we leave it at that. Good luck and have fun!