苏轼·水调歌头

水调歌头

苏轼

丙辰中秋欢饮达旦,大醉作此篇,兼怀子由。

  明月几时有?把酒问青天。不知天上宫阙,今夕是何年。我欲乘风归去,又恐琼楼玉宇,高处不胜寒, 起舞弄清影,何似在人间。

  转朱阁,抵绮户,照无眠。不应有恨,何事偏向别时圆。人有悲欢离合,月有阴晴圆缺,此事古难全。 但愿人长久,千里共婵娟。

请明白以下软件流程图:import turtle as t import random # 全局诗词内容定义 lst1 = [ # 苏轼水调歌头》正文内容(每元素为一行诗句) "明月几时有把酒问青天", "不知天上宫阙今夕是何年", "我欲乘风归去又恐琼楼玉宇", "高处不胜寒", "起舞弄清影何似在人间", "转朱阁低绮户照无眠", "不应有恨何事长向别时圆", "人有悲欢离合月有阴晴圆缺", "此事古难全", "但愿人长久千里共婵娟" ] lst2 = [ # 落款信息(包含作者和创作信息) "\n苏轼水调歌头", # 换行显示作者 "甲辰年派森海龟书" # 创作时间和方式 ] def init(): """初始化画布参数设置""" t.bgcolor("#108b98") # 青蓝色背景 t.bgpic("书法背景3.png") # 书法背景图 t.setup(1.0, 1.0) # 全屏窗口 t.pencolor("#221616") # 深褐色画笔 t.speed(500) # 最高绘制速度 def PoemText(): """书写竖排诗词正文""" t.penup() x1, y1 = 505, 270 # 起始坐标(右上角) for i in range(10): # 遍历10行诗句 n = len(lst1[i]) for j in range(n): # 逐字竖排书写 # 横向每列间隔60像素,纵向每字间隔35像素 t.goto(x1 - i * 60, y1 - j * 35) t.write(lst1[i][j], font=("米开软笔行楷", 25)) def PoemSignature(): """书写右侧落款""" x2, y2 = 505 - 10 * 60, 100 # 正文右侧对齐坐标 for i in range(2): # 遍历2行落款 n = len(lst2[i]) for j in range(n): # 横向间隔40像素,纵向间隔25像素 t.goto(x2 - i * 40, y2 - j * 25) t.write(lst2[i][j], align="center", font=("米开软笔行楷", 15)) def snow(m): """绘制随机雪花 :param m: 雪花数量 """ t.pencolor("white") t.fillcolor("white") for _ in range(m): # 生成左侧区域随机坐标(X:-700~-400,Y:-200~600) x = -400 - 300 * random.random() y = 600 - 800 * random.random() t.penup() t.goto(x, y) t.pendown() rsnow = 5 * random.random() # 随机半径(0~5像素) t.begin_fill() t.circle(rsnow) t.end_fill() def tree(n, l): """递归绘制梅花树 :param n: 递归层级(控制树枝复杂度) :param l: 当前树枝长度 """ if n <= 0: return t.pensize(2 * n) # 树枝随层级变细 t.pendown() t.forward(l) # 33%概率在树枝中点绘制花朵 if random.randint(0, 2) == 0: t.penup() t.backward(l/2) flower(1 + 4 * random.random()) # 随机花朵大小(1~5) t.forward(l/2)
最新发布
04-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值