在Python中输出诗词格式可以通过以下几种方法实现:
1. 使用`print()`函数逐行输出:
print("床前明月光,疑是地上霜。")
print("举头望明月,低头思故乡。")
2. 使用换行符`
`来分隔多行文本,使诗歌排版更美观:
print("床前明月光,疑是地上霜。\n举头望明月,低头思故乡。")
或者使用多个`print()`函数分别打印每一行:
print("床前明月光,疑是地上霜。")
print("举头望明月,低头思故乡。")
3. 使用格式化字符串(f-string)来个性化诗歌输出,例如在诗歌开头添加标识符或使每行诗句对齐:
name = "小明"
print(f"小明喜欢诗歌:床前明月光,疑是地上霜。\n举头望明月,低头思故乡。")
4. 使用正则表达式分割文本,并以诗词风格输出到文件,例如将文本按逗号分割,并以每行30个字符,居中显示:
import re
poem = "锦瑟无端五十弦,一弦一柱思华年。庄生晓梦迷蝴蝶,望帝春心托杜鹃。沧海月明珠有泪,蓝田日暖玉生烟。此情可待成追忆,只是当时已惘然。"
res = re.split(r'[,]', poem, re.DOTALL)
print("《锦瑟》".center(30))
print("--作者:李商隐".rjust(25))
for line in res:
if line:
print(f"{line:^30}")
5. 对于竖排输出,可以通过将输入的诗句从右向左排序,然后转置输出:
n, poem = eval(input()) n代表是几言诗
poem = poem[::-1] 反转诗句
进行初步排序,横向正序
h = []
for i in range(0, len(poem), n):
h.append(poem[i:i+n])
转置,实现竖排输出
K = list(map(list, zip(*h)))
for line in K:
print("".join(line))
以上方法可以帮助你在Python中输出格式化的诗词。