27142556 发表于 2025-5-11 19:04:32

母亲节礼物

上午我发了一个代码,有一位鱼油给我提了建议,我自己也发现了一些bug 所以我就改了一下

也感谢{:5_110:} 这位鱼油


====================
import turtle as t
t.ht()
t.pensize(100)
t.speed(0)
t.color("red")
t.setup(1000,1000)
t.seth(90)
t.fillcolor("red")
t.begin_fill()
t.circle(100,180)
t.seth(-45)
t.fd(250)
t.seth(90)
t.fd(200)
t.seth(-90)
t.circle(100,-180)
t.seth(-135)
t.fd(250)
t.end_fill()
t.up()
t.seth(-90)
t.fd(200)
t.write("母亲节快乐",move=True,align="center",font=("华文行楷",100,"underline"))
t.seth(90)
t.fd(500)
t.down()
t.bgcolor("yellow")
=====================

如果没有PY编辑器也可以直接把图片发给妈妈看哦
最后祝各位妈妈们母亲节快乐{:9_236:}

FishC 发表于 2025-5-11 19:07:39

上午我发了一个代码,有一位鱼油给我提了建议,我自己也发现了一些bug 所以我就改了一下

修改建议如下:

1. 增加窗口保持命令(防止自动关闭):
t.done()
建议添加在代码最后

2. 优化文字显示位置:
将最后三行改为:
t.goto(0, -200)
t.write("母亲节快乐", align="center", font=("华文行楷", 100, "underline"))
t.done()

3. 改进颜色设置:
t.bgcolor("yellow")# 建议放在setup()之后立即设置

修改后的完整代码:

import turtle as t
t.ht()
t.pensize(100)
t.speed(0)
t.color("red")
t.setup(1000,1000)
t.bgcolor("yellow")# 提前设置背景色

t.seth(90)
t.begin_fill()
t.circle(100,180)
t.seth(-45)
t.fd(250)
t.seth(90)
t.fd(200)
t.seth(-90)
t.circle(100,-180)
t.seth(-135)
t.fd(250)
t.end_fill()

t.up()
t.goto(0, -200)# 优化定位
t.write("母亲节快乐", align="center", font=("华文行楷", 100, "underline"))
t.done()# 保持窗口


温馨提示:

[*]如果出现字体警告,可以把 华文行楷 改为 SimSun
[*]运行后会生成黄色背景的窗口,可以截图保存发送
[*]推荐使用IDLE运行(双击可直接看到效果)


最后祝天下母亲:
平安喜乐,幸福安康!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

小甲鱼 发表于 2025-5-11 19:58:19

player-none 发表于 2025-5-11 20:22:24

{:10_275:}好帖不停fishc不停!

小甲鱼的二师兄 发表于 2025-5-11 22:11:21

有点抽象哈哈哈

快速收敛 发表于 2025-5-12 08:32:42

{:10_275:}

不二如是 发表于 2025-5-12 08:54:12

player-none 发表于 2025-5-11 20:22
好帖不停fishc不停!

妙~~

sunshine_8205 发表于 2025-5-12 09:07:51

{:5_106:}

zxlhbqhxy 发表于 2025-5-12 15:45:44

哪位老师能将每行后加个注释?

player-none 发表于 2025-5-12 17:18:19

zxlhbqhxy 发表于 2025-5-12 15:45
哪位老师能将每行后加个注释?

作者给个置顶呗,谢谢了{:10_302:}

import turtle as t
t.ht() # 隐藏海龟
t.pensize(100) # 粗细设为 100
t.speed(0) # 最快的画图(显示绘制过程)
t.color("red") # 用红色的“笔”画图
t.setup(1000,1000) # 窗口长 1000 宽 1000
t.seth(90) # 向上是 90,旋转到 90 度处(向上)
t.fillcolor("red") # 这行其实是没用的,因为 t.color 就已经设置 fillcolor 了
t.begin_fill() # 开始填充
t.circle(100,180) # 画半圆弧(180 度),半径 100
t.seth(-45) # 朝向右下角
t.fd(250) # 前进 250 像素
t.seth(90) # 朝向正上方
t.fd(200) # 前进 200 像素
t.seth(-90) # 朝向正下方
t.circle(100,-180) # 画半圆弧(180 度),半径 100,但是反向
t.seth(-135) # 朝向左下角
t.fd(250) # 前进 250 像素
t.end_fill() # 结束填充,这时画的轮廓内部的空间会被涂上红色
t.up() # 抬笔
t.seth(-90) # 朝向正下方
t.fd(200) # 前进 200 像素
t.write("母亲节快乐",move=True,align="center",font=("华文行楷",100,"underline")) # 写字,当前位置作为横向中心,字体 华文行楷,大小 100,下划线
t.seth(90) # 朝向正上方
t.fd(500) # 前进 500 步
t.down() # 落笔
t.bgcolor("yellow") # 给整个窗口没涂上红色的部分涂上黄色

zxlhbqhxy 发表于 2025-5-13 11:48:33

player-none 发表于 2025-5-12 17:18
作者给个置顶呗,谢谢了

感谢!!!先存下来,要一点一点学。不怕慢,每天学一点!{:5_109:}

zxlhbqhxy 发表于 2025-5-13 12:11:25

import turtle as t
# t.ht() # 隐藏海龟
t.pensize(100) # 粗细设为 100
# t.speed(0) # 最快的画图(显示绘制过程)
t.color("red") # 用红色的“笔”画图
t.setup(1000,1000) # 窗口长 1000 宽 1000
t.seth(90) # 向上是 90,旋转到 90 度处(向上)
t.fillcolor("red") # 这行其实是没用的,因为 t.color 就已经设置 fillcolor 了
t.begin_fill() # 开始填充
t.circle(100,180) # 画半圆弧(180 度),半径 100
t.seth(-45) # 朝向右下角
t.fd(283) # 前进 250 像素
t.seth(90) # 朝向正上方
t.fd(200) # 前进 200 像素
t.seth(-90) # 朝向正下方
t.circle(100,-180) # 画半圆弧(180 度),半径 100,但是反向
t.seth(-135) # 朝向左下角
t.fd(283) # 前进 250 像素
t.end_fill() # 结束填充,这时画的轮廓内部的空间会被涂上红色
t.up() # 抬笔
t.seth(-90) # 朝向正下方
t.fd(200) # 前进 200 像素
t.write("母亲节快乐",move=True,align="center",font=("华文行楷",100,"underline")) # 写字,当前位置作为横向中心,字体 华文行楷,大小 100,下划线
t.seth(90) # 朝向正上方
t.fd(500) # 前进 500 步
t.down() # 落笔
t.bgcolor("yellow") # 给整个窗口没涂上红色的部分涂上黄色

zxlhbqhxy 发表于 2025-5-13 12:12:39

这样是不是就对称了,怎么让画面最后停下,点鼠标后再消失?

瓜提胖 发表于 2025-5-13 14:20:55

{:5_106:}

player-none 发表于 2025-5-13 17:13:34

zxlhbqhxy 发表于 2025-5-13 12:12
这样是不是就对称了,怎么让画面最后停下,点鼠标后再消失?

这就涉及到turtle 的事件处理机制了,自己搜搜吧,我也不熟

ydwb 发表于 2025-5-18 08:16:57

后面加 t.done(), 是告诉程序:“绘图已完成,现在保持窗口打开,等待用户操作”。没有它,你画的爱心和文字可能来不及显示就被关闭了!
页: [1]
查看完整版本: 母亲节礼物