On 16/12/12 15:16, boB Stepp wrote:
In the following code:
print(
"""
______ ____ ___ ___ ______
/ _____| / | / |/ | | ____|
| | / /| | / /| /| | | |__
| | _ / ___ | / / |__/ | | | __|
| |__| | / / | | / / | | | |___
\______/ /__/ |_| /_/ |_| |______|
______ __ _ ______ ______
/ _ \ | | / / | ___| | _ \
| | | | | | / / | |__ | |_| |
| | | | | | / / | __| | _ /
| |_| | | | / / | |___ | | \ \
\______/ |_____/ |______| |__| \_\
"""
)
All trailing spaces have been trimmed off the end of the lines. It
results in the following undesired output:
[...]
What greatly puzzles me is that "GAME" prints correctly, but "OVER"
does not. Why?
Wow! This is a tricky question, but so obvious in hindsight.
The problem is that you have three lines, all in "OVER", that end with
a backslash. In Python string literals, backslash-newline is interpreted
as a line continuation, so that the next physical line is joined to the
current line.
Two solutions are:
* Add a space to the end of the backslashes. The space is invisible, and
some editors may strip it out, so this is a fragile solution.
* Change the string to a raw string, r"""...""" so that backslash
interpolation is turned off.
--
Steven
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor