[Tutor] Print text position problems when using triple quotes
Bill Mill
bill.mill at gmail.com
Thu Feb 24 19:14:13 CET 2005
On Thu, 24 Feb 2005 10:02:44 -0800, Luke Jordan <luke.jordan at gmail.com> wrote:
> Hi all,
>
> I've tried a lot of experimenting and searching through various
> tutorials, and I haven't been able to come up with a solution to this,
> ostensibly simple, problem.
>
> I'm writing a simple game (run in command line) in which narrative
> text is printed in response to a user's decisions. The problem I'm
> running into is that triple quotes used in an indented block preserves
> the indentation when it prints. I'm writing code like this:
>
> if userInput == 1:
> some stuff
> print """
> texttexttexttexttexttexttexttext
> """
> question within a question
> if userInput == 1:
> print """
> texttexttexttexttexttexttexttext
> texttexttexttexttexttexttexttext
> """
> elif userInput == 2:
> print """
> owowowowowowowowowowow
> """
>
> to preserve the text's position at left when I run it in the
> command-line. The blocks get distorted and it becomes painful to read.
>
> Is there a way to preserve the readability of the code and have
> printed text from indented blocks, say, nested conditionals, appear
> flush at left, not printed exactly where I've written them in the
> script?
Why not just take them out of the block, and either make them global
to the module or create a string module? i.e.:
prompt1 = """This is a long string with %s string variables
%s scattered all over the place
as well as odd indentation %s
and funny lines
------------------
============"""
class foo:
def bar(self):
print prompt1 % (var1, var2, var3)
peace
Bill Mill
bill.mill at gmail.com
More information about the Tutor
mailing list