python小海龟画房子编程_编程入门06:Python海龟绘图

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

In [1]: import turtle as tt

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度,如此重复五次:

import turtle as tt

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

cnt = 0

while cnt < 5:

tt.forward(200)

tt.right(144)

cnt += 1

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

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

import turtle as tt

from random import randint

tt.TurtleScreen._RUNNING = True

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

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

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

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

cnt = 0

while cnt < 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()

5339bf4d5e97

06_turtle.png

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

from random import randint

import turtle as tt

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 = ""

while guess != target:

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

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

if guess == target:

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

elif not guess: # 用户没有输入数字则中断循环

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

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

break

elif guess > target:

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

else:

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

tt.clear()

tt.write(answer, font=myfont)

tt.done()

5339bf4d5e97

06_turtle_guess.png

——编程原来是这样……

编程小提示:模块的运行

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

python -m turtledemo

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

python -m turtle

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 下面是一些Python海龟绘图的例子,涵盖了各种形状和图案,供您参考。 1. 绘制一个正方形: ```python import turtle # 创建海龟对象 t = turtle.Turtle() # 绘制正方形 for i in range(4): t.forward(100) t.right(90) # 等待退出 turtle.done() ``` 2. 绘制一个圆形: ```python import turtle # 创建海龟对象 t = turtle.Turtle() # 绘制圆形 t.circle(50) # 等待退出 turtle.done() ``` 3. 绘制一个五角星: ```python import turtle # 创建海龟对象 t = turtle.Turtle() # 绘制五角星 for i in range(5): t.forward(100) t.right(144) # 等待退出 turtle.done() ``` 4. 绘制一个螺旋线: ```python import turtle # 创建海龟对象 t = turtle.Turtle() # 绘制螺旋线 for i in range(100): t.forward(i) t.right(20) # 等待退出 turtle.done() ``` 5. 绘制一个彩色螺旋线: ```python import turtle import random # 创建海龟对象 t = turtle.Turtle() # 绘制彩色螺旋线 for i in range(100): # 随机生成RGB颜色值 r = random.random() g = random.random() b = random.random() t.color(r, g, b) t.forward(i) t.right(20) # 等待退出 turtle.done() ``` 6. 绘制一个心形: ```python import turtle # 创建海龟对象 t = turtle.Turtle() # 绘制心形 t.left(45) t.forward(100) t.right(90) t.forward(100) t.right(180) t.forward(50) t.left(90) t.forward(50) t.right(180) t.forward(100) t.right(180) # 等待退出 turtle.done() ``` 7. 绘制一个棋盘: ```python import turtle # 创建海龟对象 t = turtle.Turtle() # 绘制棋盘 for i in range(8): for j in range(8): if (i + j) % 2 == 0: t.begin_fill() t.fillcolor("black") else: t.begin_fill() t.fillcolor("white") t.penup() t.goto(i * 50, j * 50) t.pendown() t.goto(i * 50 + 50, j * 50) t.goto(i * 50 + 50, j * 50 + 50) t.goto(i * 50, j * 50 + 50) t.goto(i * 50, j * 50) t.end_fill() # 等待退出 turtle.done() ``` 以上就是一些Python海龟编程的例子,希望对您有所帮助。 ### 回答2: Python海龟编程是一种基于图形的编程语言,它通过控制虚拟海龟来绘制图形。下面是一些常见的Python海龟编程代码示例: 1. 在屏幕上绘制一个正方形: ```python import turtle turtle.forward(100) turtle.right(90) turtle.forward(100) turtle.right(90) turtle.forward(100) turtle.right(90) turtle.forward(100) turtle.right(90) turtle.done() ``` 2. 在屏幕上绘制一个圆形: ```python import turtle turtle.circle(100) turtle.done() ``` 3. 在屏幕上绘制一个多边形: ```python import turtle sides = 6 # 修改这个值可以绘制任意边数的多边形 angle = 360 / sides for _ in range(sides): turtle.forward(100) turtle.right(angle) turtle.done() ``` 4. 在屏幕上绘制一条彩色螺旋线: ```python import turtle colors = ["red", "orange", "yellow", "green", "blue", "purple"] for i in range(200): turtle.pencolor(colors[i % 6]) turtle.width(i/100 + 1) turtle.forward(i) turtle.left(59) turtle.done() ``` 这些示例只是Python海龟编程中的一部分代码,还有许多其他有趣的图形可以绘制。希望这些示例能为你提供一些启发,让你能够更好地掌握Python海龟编程。 ### 回答3: 《Python海龟编程代码大全》是一本以海龟图形进行编程指导的书籍。这本书包含了丰富的Python代码示例和详细的讲解,能够帮助读者掌握Python海龟图形编程的基本原理和技巧。 书中首先介绍了Python海龟图形编程的基础知识,包括如何创建海龟窗口、设置布大小和背景颜色等。接下来,书中逐步介绍了海龟图形编程的各种功能和操作,如直线、圆、填充颜色等。每个功能都有相应的代码示例和详细的讲解,读者可以通过跟随示例代码进行实践,加深对编程概念和语法的理解。 此外,书中还介绍了一些高级海龟图形编程技巧,包括如何使用循环和条件语句进行复杂的图形绘制,如何创建自定义的图形函数和类等。这些技巧能够帮助读者更加灵活地控制海龟的移动和图形的绘制,实现更加有趣和复杂的图形效果。 除了基础知识和技巧的讲解,书中还提供了一些实用的项目示例,如绘制太阳花、绘制螺旋图等。这些项目旨在通过实例演示将所学的知识应用到实际问题中的过程,帮助读者培养编程解决问题的能力和思维模式。 总体来说,《Python海龟编程代码大全》是一本全面而详实的Python海龟图形编程入门指南。通过学习这本书,读者可以系统地掌握Python海龟编程的基本原理和技巧,并能够自己编写简单到复杂的海龟图形代码。无论是初学者还是有一定编程经验的读者,都能从这本书中受益匪浅。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值