Python中三引号定义的字符画无法正常换行打印,求解决方法
Python字符画打印换行异常的解决方法
问题说明
作为Python新手,我用三引号定义了“Thank You”字符画,但打印时无法正常换行,显示混乱。先后尝试了用\n的单行字符串写法、续行符拼接字符串的写法,均无效。最终通过jasonharper的评论解决了问题,在此表示感谢!
问题代码及尝试写法
三引号定义的字符画代码
thankyou = """ ______ _ _ (_) | | | | | | | | __ _ _ | | __ | |/ \ / | / |/ | |/_) | | / \ | | (_/\_/| |/\_/|_/ | |_/| \_ \_/|/\__// \_/|_ /| \| """
尝试过的两种写法
- 使用
\n的单行写法:
thankyou = '\n ______ _ _ \n (_) | | | | | \n | | | __ _ _ | | __ \n | |/ \ / | / |/ | |/_) | | / \ | | \n (_/\_/| |/\_/|_/ | |_/| \_ \_/|/\__// \_/|_ \n /| \n |'
- 使用续行符的写法:
thankyou = " ______ _ _ "\ " (_) | | | | | "\ " | | | __ _ _ | | __ "\ " | |/ \ / | / |/ | |/_) | | / \ | | "\ " (_/\_/| |/\_/|_/ | |_/| \_ \_/|/\__// \_/|_ "\ " /| "\ " \|"
解决方法
- 三引号定义的字符串本身格式正确,只需直接用
print(thankyou)打印即可——三引号会完整保留字符串内的换行符和空格布局,若之前未用print()而是直接输出变量,会显示转义字符导致混乱。 - 若使用续行符写法,必须在每个分段字符串末尾添加
\n手动插入换行,否则拼接后的字符串是一整行,示例修正:
thankyou = " ______ _ _ \n"\ " (_) | | | | | \n"\ " | | | __ _ _ | | __ \n"\ " | |/ \ / | / |/ | |/_) | | / \ | | \n"\ " (_/\_/| |/\_/|_/ | |_/| \_ \_/|/\__// \_/|_ \n"\ " /| \n"\ " \|"
- 确保输出环境使用等宽字体,非等宽字体可能导致字符画错位,看起来像换行异常。
内容的提问来源于stack exchange,提问作者Liberty
相关产品推荐
相关产品推荐

