Q:

What's the more pythonic way of formatting a huge set of strings while maintaining good readability and white spaces?

I'm working on a Mad Lib project. I have a whole story that I would like to print but I get unwanted indentions whenever I use triple quotes to define my strings. When I try to get over this by removing the tabs and spaces that I use to keep it neat and readable, it just looks unpleasant. I ended up going with the code below but I was thinking that maybe there's a better way to do this. Will there be a more pythonic way of doing formatting this?
The code that I ended up with:
name, place1, place2, adj1, adj2, adj3, pNoun1, pNoun2, pNoun3, pNoun4,
aVerb1, aVerb2, aVerb3, noun = None

print ('Last summer, my mom and dad took me and %s on a trip to %s. ', % name, place1,
       'The weather there is very %s! Northern %s has many %s, and ', % adj1, place1, pNoun1
       'they make %s %s there. Many people also go to %s to %s or see ', % adj2, pNoun2, place2, aVerb1
       'the %s. The people that live there love to eat %s and are very ', % pNoun3, pNoun4
       'proud of their big %s. They also liketo %s in the sun and in the ', % noun, aVerb2
       '%s! It was a really %s trip!' % aVerb3, adj3)

At first I was doing it like this but it ended up with unwanted new lines and indentions:
print('''Last summer, my mom and dad took me and %s on a trip to %s.
     The weather there is very %s! Northern %s has many %s, and they
     make %s %s there. Many people also go to %s to %s or see the %s.
     The people that live there love to eat %s and are very proud of
     their big %s. They also liketo %s in the sun and in the %s! It 
     was a really %s trip!''' %  (name, place1, adj1, place1, 
     pNoun1,adj2, pNoun2, place2, aVerb1, pNoun3, pNoun4, noun, aVerb2,
     aVerb3, adj3)) 

A:

You can use format with Accessing arguments by name, see the documentation.
Try:
infos = {
    'name': 'name',
    'noun': 'noun',
    'adj1': 'adj1',
    'adj2': 'adj2',
    'adj3': 'adj3',
    'aVerb1': 'aVerb1',
    'aVerb2': 'aVerb2',
    'aVerb3': 'aVerb3',
    'place1': 'place1',
    'place2': 'place2',
    'pNoun1': 'pNoun1',
    'pNoun2': 'pNoun2',
    'pNoun3': 'pNoun3',
    'pNoun4': 'pNoun4',
}

print('''Last summer, my mom and dad took me and {name} on a trip to %s.
     The weather there is very {adj1}! Northern {place1} has many {pNoun1}, and they
     make {adj2} {pNoun2} there. Many people also go to {place2} to {aVerb1} or see the {pNoun3}.
     The people that live there love to eat {pNoun4} and are very proud of
     their big {noun}. They also liketo {aVerb2} in the sun and in the {aVerb3}! It 
     was a really {adj3} trip!'''.format(**infos))

And you can reuse the name argument in format to be more flexible:
print('{pNoun1} {aVerb1} {pNoun1}'.format(**infos))
=> pNoun1 aVerb1 pNoun1

