On Thu, 24 Feb 2005 13:14:13 -0500, Bill Mill <[EMAIL PROTECTED]> wrote: > On Thu, 24 Feb 2005 10:02:44 -0800, Luke Jordan <[EMAIL PROTECTED]> 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):
Sorry, I forgot that if it's in the module, you should declare prompt1 as global by using "global prompt1" right here. > print prompt1 % (var1, var2, var3) > > peace > Bill Mill > bill.mill at gmail.com > _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor