《Python语言程序设计》——1.9 开始学习图形化程序设计

1.9 开始学习图形化程序设计

关键点:Turtle是Python内嵌的绘制线、圆以及其他形状(包括文本)的图形模块。它很容易学习并且使用简单。
初学者通常很喜欢通过图形学习程序设计。因此,我们在本书第一部分的很多章的最后都会用一节讲解图形化程序设计。但是,这些素材不是强制性的,可以跳过它们或者以后再涉及这些内容。
在Python中有多种编写图形程序的方法。一个简单的启动图形化程序设计的方法是使用Python内嵌的Turtle模块。本书后面将会介绍Tkinter来开发复杂的图形用户界面应用程序。
1.9.1 绘制图形并给图形添加颜色
下面的程序将演示如何使用Turtle模块。后续章节会介绍更多的特性。
1)在Windows“开始”菜单中选择Python(命令行)或者在命令提示符下输入“python”来启动Python。
2)在Python语句提示符“>>>”下输入下面的命令来导入Turtle模块。这个命令导入Turtle模块中定义的所有函数,这样就可以使用所有函数。

3)输入下面的命令来显示Turtle的当前位置和方向,如图1-15a所示。

使用Python Turtle模块进行图形化程序设计很像使用笔进行绘画。箭头表明笔的当前位置和方向。Turtle的起始位置在窗口的中心。此处,Turtle是指绘制图像的对象(对象将在第3章介绍)。
4)输入下面的命令绘制一个文本字符串:

你的窗口应该看起来如图1-15b所示。
5)输入下面的命令将箭头向前移动100像素,向箭头所指的方向绘制一条直线:

你的窗口应该看起来如图1-15c所示。
为了绘制图1-15中的其他部分,继续这些步骤。

图1-15 随着每个语句的执行动态地显示图形
6)输入下面的命令将箭头向右转90度,将Turtle的颜色改为红色,然后将箭头向前移动50像素,如图1-15d所示。

7)现在,输入下面的命令将箭头向右转90度,将颜色设置为绿色,然后将箭头向前移动100像素来绘制一条直线,如图1-15e所示。



8)最后,输入下面的命令将箭头向右转45度,并将箭头向前移动80像素来绘制一条直线,如图1-15f所示。
>

9)现在可以关闭Turtle图形窗口并退出Python。
1.9.2 将笔移到任何位置
当Turtle程序启动时,箭头在Python Turtle图形窗口的中心位置,它的坐标是(0,0),如图1-16a所示。你也可以使用goto(x,y)命令将turtle移动到任何一个特定的点(x,y)。
重启Python并敲入下面的命令将笔从(0,0)移动到(0,50),如图1-16b所示。

也可以使用penup()和pendown()命令设置抬起或放下笔以控制移动笔时是否绘制一条线。例如:下面的命令将笔移到(50,-50),如图1-16c所示。

可以使用circle命令绘制一个圆。例如:下面的命令设置颜色为红色(图1-16d)并且绘制半径为50的圆(图1-16e)。

1.9.3 绘制奥林匹克环标志
程序清单1-5给出绘制奥林匹克环标志的程序,如图1-17所示。
程序清单1-5 OlympicSymbol.py

程序导入Turtle模块使用Turtle图形化窗口(第1行)。它将笔移到(-110,-25)(第5行),然后绘制一个半径为45的蓝色圆(第7行)。类似地,它绘制一个黑色圆(第9~13行)、一个红色圆(第15~19行)、一个黄色圆(第21~25行)以及一个绿色圆(第27~31行)。
第33行调用Turtle的done()命令,它可以导致程序暂停直到用户关闭Python Turtle图形化窗口。它的目的是给用户时间来查看图形。没有这一行,图形窗口会在程序完成时立即关闭。
检查点
1.36 如何导入Turtle模块?
1.37 如何在Turtle中显示文本?
1.38 如何向前移动笔?
1.39 如何设置新颜色?
1.40 不绘制任何东西时如何移动笔?
1.41 如何绘制一个圆?
1.42 程序清单1-5中第33行的turtle.done()的目的是什么?
关键术语

.py file(.py文件)
assembler(汇编器)
assembly language(汇编语言)
bit(比特)
bus(总线)
byte(字节)
cable modem(光缆调制解调器)
calling a function(调用函数)
central processing unit (CPU)(中央处理器(CPU))
comment(注释)
compiler(编译器)
console(控制台)
dot pitch(点距)
DSL (digital subscriber line)(DSL(数字用户线))
encoding scheme(编码表)
function(函数)
hardware(硬件)
high-level language(高级语言)
IDLE (Interactive DeveLopment Environment)(IDLE(交互式开发环境))
indentation(缩进)
interactive mode(交互式模式)
interpreter(解释器)
invoking a function(调用函数)
line comment(行注释)
logic error(逻辑错误)
low-level language(低级语言)
machine language(机器语言)
memory(内存)
modem(调制解调器)
module(模块)
motherboard(主板)
network interface card (NIC)(网络接口卡(NIC))
operating system (OS)(操作系统(OS))
pixel(像素)
program(程序)
runtime errors(运行时错误)
screen resolution(屏幕分辨率)
script file(脚本文件)
script mode(脚本模式)
software(软件)
source code(源代码)
source file(源文件)
source program(源程序)
statement(语句)
storage device(存储设备)
syntax errors(语法错误)
syntax rules(语法规则)

注意:上面的术语都是在当前章节中定义的。补充材料I.A按章罗列出本书所有的关键术语以及对它们的描述。

时间: 2024-05-08 20:55:52

《Python语言程序设计》——1.9 开始学习图形化程序设计的相关文章

《Python语言程序设计》—— 导读

前 言 本书假设你是一位先前没有任何程序设计经验的程序员新手.那么,什么是程序设计呢?程序设计是指使用程序设计语言编写程序以解决问题.不论你使用的是哪种程序设计语言,解决问题和程序设计的根本都是一致的.你可以使用任何一种像Python.Java.C++或C#这样的高级程序设计语言来学习程序设计.一旦知道如何使用其中一门语言编写程序,那么如何使用其他语言编写程序就很容易,因为编写程序的基本技能都是一样的. 那么,使用Python学习程序设计的优势在哪里呢?Python易于学习,且编程有趣.Pyth

《从问题到程序:用Python学编程和计算》——第1章 程序设计和Python 1.1 计算机和程序

第1章 程序设计和Python 我们已经生活在信息时代,环顾四周,信息技术的影响无处不在.由于信息科学技术的发展和应用,我们的世界的方方面面都与20年前大不相同了,例如: 个人生活:看看人们在每天生活中做的各种事情,有多少是在与屏幕键盘(可能是触摸屏)交互,这些都是20年前没有的事情. 人际交流:20年前的人际交流方式很简单.除面对面交流外,只能通过纸笔写信或长途电话(要找专门的电话或者到电话局).今天人手一部手机,可以通过电话.短信.各种网络即时消息相互交流.电子邮件也是私人之间的交流媒介,而

《Python语言程序设计》——第一部分 程序设计基础 第1章计算机、程序和Python概述1.1 引言

第一部分 程序设计基础 第1章 计算机.程序和Python概述学习目标 演示对计算机硬件.程序和操作系统的基本理解(第1.2-1.4节). 描述Python的历史(第1.5节). 解释Python程序的基本语法(第1.6节). 编写和运行一个简单的Python程序(第1.6节). 解释恰当的程序设计风格和文档的重要性,并提供相应的实例(第1.7节). 解释语法错误.运行时错误和逻辑错误之间的区别(第1.8节). 使用Turtle创建一个基本的图形程序(第1.9节). 1.1 引言 关键点:本书的

《Python语言程序设计》——1.2 什么是计算机

1.2 什么是计算机 关键点:计算机是存储和处理数据的电子设备.计算机包括软件和硬件.通常,硬件包括计算机上能看到的物理元素,而软件提供控制硬件并让硬件执行特定任务的不可见的指令.学习一种程序设计语言并不一定需要知道计算机的硬件知识,但是它可以帮助你更好地理解程序的指令在计算机和它的组件上所起的效果.本节介绍计算机硬件组件以及它们的功能.一台计算机包括下面的主要硬件组件(如图1-1所示). 中央处理器(CPU) 内存(主存储器) 存储设备(例如:磁盘和光盘) 输入设备(例如:鼠标和键盘) 输出设

《Python语言程序设计》——3.2 常见的Python函数

3.2 常见的Python函数 关键点:Python提供了许多有用的用于解决常见程序设计任务的函数. 函数是完成一个特殊任务的一组语句.Python语言和其他程序设计语言一样,都提供了一个函数库.你已经使用过eval.input.print和int函数.这些都是内置函数并且在Python解释器里均可用.所以使用这些函数你不用导入任何模块.除此之外,你还可以使用abs.max.min.pow和round等内置函数,如表3-1所示. 例如: 我们常常为解决数学问题创建一些程序.Python的math

《Python语言程序设计》——第2章基本程序设计2.1 引言

第2章 基本程序设计 学习目标 编写程序完成简单的计算(第2.2节). 使用input函数从程序的用户处获取输入(第2.3节). 使用标识符来命名元素,例如:变量和函数等(第2.4节). 将数据赋值给变量(第2.5节). 实现同时赋值(第2.6节). 定义命名常量(第2.7节). 使用运算符+.-.././/.%和*(第2.8节). 编写和计算数字表达式(第2.9节). 利用简捷运算符简化编码(第2.10节). 使用int和round函数进行数据类型转换和四舍五入(第2.11节). 使用time

Visual C++程序设计中Windows GDI贴图闪烁的解决方法_C 语言

本文实例讲述了Visual C++程序设计中Windows GDI贴图闪烁的解决方法.分享给大家供大家参考.具体如下: 一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁. 先来谈谈闪烁产生的原因 原因一: 如果熟悉显卡原理的话,调用GDI函数向屏幕输出的时候并不是立刻就显示在屏幕 上只是写到了显存里,而显卡每隔一段时间把显存的内容输出到屏幕上,这就是刷新周期. 一般显卡的刷新周期是 1/80秒左右,具体数字可以自己设置的. 这样

《从问题到程序:用Python学编程和计算》——1.2 Python语言简介

1.2 Python语言简介 本节将首先简单介绍Python语言的一些基本情况,包括其发展和使用的情况.而后介绍Python语言系统的安装和使用方面的基本常识.1.2.1 Python语言的发展和应用 Python语言是CWI(荷兰国家数学和计算机研究中心)的程序员Guido van Rossum在1989年开始开发的一种高级编程语言,当时的主要设计目标是希望能用于方便地管理CWI的Amoeba操作系统.后来,由于其各方面的优点而逐渐流行起来. Python语言现在由Python软件基金会(Py

强者联盟——Python语言结合Spark框架

引言:Spark由AMPLab实验室开发,其本质是基于内存的快速迭代框架,"迭代"是机器学习最大的特点,因此非常适合做机器学习.得益于在数据科学中强大的表现,Python语言的粉丝遍布天下,如今又遇上强大的分布式内存计算框架Spark,两个领域的强者走到一起,自然能碰出更加强大的火花(Spark可以翻译为火花),因此本文主要讲述了PySpark. 本文选自<全栈数据之门>. 全栈框架 Spark由AMPLab实验室开发,其本质是基于内存的快速迭代框架,"迭代&qu