python海龟作图好看图案_编程入门 06:Python 海龟绘图

编程入门 06:Python 海龟绘图

现在让我们开始尝试图形用户界面 (GUI) 程序的编写 Python 标准库中有个 turtle 模块, 可以生成标准的应用程序窗口进行图形绘制 turtle 的绘图方式非常简单直观想象有一只尾巴上蘸着颜料的小海龟在电脑屏幕上爬行, 随着它的移动就能画出线条来, turtle 程序窗口的绘图区域使用直角坐标系, 海龟的初始位置在窗口绘图区正中的 (0,0) 点, 头朝 x 轴的正方向你可以先在交互模式中引入模块并练习其中的函数:In[1]:importturtleastt

In[2]:tt.setup()# 设置画布, 这将立即显示绘图窗口

In[3]:tt.forward(100)# 前进 100 像素, 这将画出一条横向线段

In[4]:tt.right(90)# 右转 90 度, 这将改变海龟的朝向

In[5]:tt.forward(100)# 这将画出一条纵向线段

In[6]:tt.goto(0,0)# 前往原点, 这将完成一个等腰直角三角形

In[7]:tt.bye()# 关闭绘图窗口

利用 tutle 模块能够更生动地学习流程控制概念, 以下程序可以画出一个五角星画一条线段并右转 144 度, 如此重复五次:importturtleastt

tt.TurtleScreen._RUNNING=True# 启动绘图, 在 IDE 中运行加这句可避免报错

cnt=0

whilecnt<5:

tt.forward(200)

tt.right(144)

cnt+=1

tt.done()# 结束绘图, 这将不会关闭窗口

以下程序连续画了 500 条线段, 每一条线段的颜色都随机, 每一条线段都比前一条长 1 个像素, 每画一条线段之后都向右转 91 度于是我们得到了一个繁复的彩色螺旋图案:importturtleastt

fromrandomimportrandint

tt.TurtleScreen._RUNNING=True

tt.speed(0)# 绘图速度为最快

tt.bgcolor("black")# 背景色为黑色

cnt=0

tt.setpos(-25,25)# 改变初始位置, 这可以让图案居中

tt.colormode(255)# 颜色模式为真彩色

whilecnt<500:

r=randint(0,255)

g=randint(0,255)

b=randint(0,255)

tt.pencolor(r,g,b)# 画笔颜色每次随机

tt.forward(50+cnt)

tt.right(91)

cnt+=1

tt.done()

c1.gif

06_turtle.png

接下来让我们灵活运用 turtle 模块的交互功能, 把上次编写的命令行式猜数游戏改造成图形界面的请把程序文件命名为 guessnum.pyw, 这样当你在操作系统中直接双击时就不会再打开黑色的命令行窗口获取用户输入可以使用对话框, 反馈信息则可以直接显示在窗口绘图区域中:fromrandomimportrandint

importturtleastt

tt.TurtleScreen._RUNNING=True

tt.setup(width=800,height=450,startx=None,starty=None)# 设置自定义的窗口大小

tt.hideturtle()# 隐藏画笔图标

tt.color("blue")# 画笔颜色为蓝色

tt.penup()# 抬起画笔, 移动时不画线

tt.setpos(-300,0)# 设置初始位置

myfont=("黑体",16,"normal")# 定义字体

target=randint(1,100)

tt.write("我想了一个 1 到 100 之间的整数, 请你猜猜看吧:",font=myfont)# 输出文本

guess=0

answer=""

whileguess!=target:

# 使用对话框获取用户输入

guess=tt.simpledialog.askinteger("猜数游戏","请输入一个整数:")

ifguess==target:

answer="你猜对了! 游戏结束"

elifnotguess:# 用户没有输入数字则中断循环

tt.clear()# 清空画布以便输出新文本

tt.write("你放弃了, 游戏结束",font=myfont)

break

elifguess>target:

answer="你猜大了, 再猜一次:"

else:

answer="你猜小了, 再猜一次:"

tt.clear()

tt.write(answer,font=myfont)

tt.done()

c1.gif

06_turtle_guess.png

海龟绘图很有趣, 你可以查看官方在线文档以了解 turtle 模块的更多细节 https://docs.python.org/3.6/library/turtle.html

编程原来是这样

编程小提示: 模块的运行

Python 标准库中还有一个 turtledemo 模块, 这是 turtle 绘图功能演示程序, 输入以下系统命令即可运行 turtledemo 模块:

python -m turtledemo

只要模块中定义了可运行对象(实现功能或用于测试), 模块就是可运行的实际上, 你也可以输入以下系统命令来运行 turtle 模块:

python -m turtle

来源: http://www.jianshu.com/p/5339bf4d5e97

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python海龟库(turtle)可以帮助我们在画布上创造出精美的图案。无论是简单的几何图形,还是复杂的艺术作品,都可以通过海龟作图来实现。 海龟作图最基本的功能就是移动海龟在画布上绘制图案。我们可以使用turtle库中的相关函数来控制海龟的位置、角度和速度。通过设置这些参数,我们可以创造出各种形状和图案。 例如,我们可以使用turtle库中的forward()函数让海龟向前移动一定距离,然后使用right()或left()函数让海龟转向一定角度,再重复这些步骤多次形成一个正方形。通过改变参数,我们可以画出不同大小的正方形,或者通过多次重复形成一个由多个正方形组成的图案。 除了画简单的几何图形,我们还可以使用turtle库中的其他函数和方法来进一步扩展图案的复杂性。例如,我们可以使用circle()函数来画出不同大小的圆形,使用dot()函数在当前位置绘制一个小点,或者使用fill()函数填充某个形状的内部。 当然,更加复杂的图案可以通过组合不同的基本形状和图案来实现。我们可以使用循环结构、条件语句等编程技巧来控制海龟的移动和绘制,从而创造出更加绚丽多彩的图案。 总之,Python海龟作图功能强大且易用,可以帮助我们在画布上绘制出各种好看图案。无论是初学者还是有经验的编程人员,都可以通过探索和实践,创造出自己喜欢的图案

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值