信息技术 第二册(五年制高职)教案 主题8 程序设计入门_第1页
信息技术 第二册(五年制高职)教案 主题8 程序设计入门_第2页
信息技术 第二册(五年制高职)教案 主题8 程序设计入门_第3页
信息技术 第二册(五年制高职)教案 主题8 程序设计入门_第4页
信息技术 第二册(五年制高职)教案 主题8 程序设计入门_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.1.1程序设计的基本知识1.程序、程序设计、程序设计语言的定义(1)程序:计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。(2)程序设计:程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。(3)程序设计语言:程序设计语言用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。程序设计语言有的因素,即语法、语义和语用。2.程序设计语言的发展程序设计语言的发展经过了机器语言、汇编语言、高级语言三个阶段,每一个阶段都使程序设计的效率大大提高。我们常常把机器语言称为第一代程序设计语言,把汇编语言称为第二代程序设计语言,把高级语言称为第三代程序设计语言。(1)机器语言

机器语言是计算机能直接识别和执行的一组机器指令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。一条机器指令就是机器语言的一个语句,它是一组有意义的二进制代码。每条机器指令一般由操作码和地址码两部分构成,其中操作码说明指令的含义,地址码说明操作数的地址。机器语言程序能够在对应型号的计算机上直接运行。用机器语言进行程序设计比较烦琐。首先,程序员要熟记所用计算机的全部指令集及每条指令的含义;其次,在程序编写过程中,程序员要自己处理每条指令和每一数据的存储分配和输入/输出,还要记住每步中所使用的工作单元处于何种状态。由于程序员既要驾驭程序全局又要深入每个局部细节,因此程序的开发周期长、可靠性差。机器语言编写出的程序都是由0和1构成的符号串,可读性差,还容易出错,不易交流和维护。机器语言编程的思维及表达方式与程序员日常的思维和表达方式差距较大,程序员需要经过长期的训练才能胜任。机器语言程序设计严重依赖于具体计算机的指令集,编写出的程序可移植性差、重用性差。(2)汇编语言

鉴于机器语言编程的烦琐,为减小程序员在编程中的劳动强度,20世纪50年代中期,人们开始用一些“助记符号”来代替0、1码编程,即用助记符代替机器指令中的操作码,用地址符号或标号代替机器指令中的地址码,将机器语言变成了汇编语言。汇编语言也称符号语言,即符号化的机器语言,提高了程序的可读性和程序开发效率。汇编语言用助记符而不是0和1序列来表示指令,程序的生产效率和质量都有所提高。但是使用汇编语言编写的程序,计算机不能直接识别,必须有一种程序将汇编语言翻译成机器语言,起这种翻译作用的程序称为汇编程序(Assembler),汇编程序把汇编语言翻译成机器语言的过程称为汇编(Assembling)。

汇编语言程序经汇编得到的目标程序占用内存空间少、运行速度快,有着高级语言不可替代的作用,因此汇编语言常用来编写系统软件和过程控制软件。

汇编语言和机器语言都与具体的机器有关,它们都称为面向机器的语言,也称为低级语言。程序员用它们编程时,不仅要考虑解题思路,还要熟悉机器的内部构造,并且要“手工”地进行存储器分配,编程的劳动强度仍然很大,这些仍然阻碍着计算机的普及和推广。(3)高级语言无论是机器语言还是汇编语言,它们都是面向硬件具体操作的,语言对机器的过分依赖要求使用者必须对硬件结构及其工作原理都十分熟悉,这对非计算机专业人员是难以做到的,对于计算机的推广应用也是不利的。计算机的发展,促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言。这种与自然语言相近并为计算机所接受和执行的计算机语言称为高级语言。高级语言是面向用户的语言。无论何种机型的计算机,只要配备相应的高级语言的翻译程序,用该高级语言编写的程序就可以在该机器上运行。高级语言可读性好、机器独立性强,具有程序库,可以在运行时进行一致性检查,从而检测程序中的错误,这使得高级语言几乎在所有的编程领域取代了机器语言和汇编语言。高级语言也随着计算机技术的发展而不断发展,目前有许多种用于不同目的的高级程序设计语言,广泛使用的有C、C++、Java、C#、F#、JavaScript、JSP等。3.程序设计语言的发展趋势程序设计语言已经逐步发展至第四代语言(Fourth-GenerationLanguage,以下简称为4GL),它的出现是由于商业需要。4GL一词最早出现在20世纪80年代初期软件厂商的广告和产品介绍中。由于4GL具有面向问题、非过程化程度高等特点,可以呈数量级地提高软件生产率,缩短软件开发周期,因此赢得很多用户的青睐。20世纪80年代中期,许多著名的计算机科学家对4GL展开了全面研究,从而使4GL进入了计算机科学的研究范畴。4GL以数据库管理系统所提供的功能为核心,进一步构造了开发高层软件系统的开发环境,如报表生成、多窗口表格设计、菜单生成系统、图形图像处理系统和决策支持系统,为用户提供了一个良好的应用开发环境。它提供了功能强大的非过程化问题定义手段,用户只需要告知系统做什么,而无须说明怎么做,因此可大大提高软件生产率。进入20世纪90年代,随着计算机软硬件技术的发展和应用水平的提高,大量基于数据库管理系统的4GL商品化软件已在计算机应用开发领域中获得广泛应用,成为面向数据库应用开发的主流工具,如Oracle应用开发环境、Informix-4GL、SQLWindows、PowerBuilder等。它们为缩短软件开发周期、提高软件质量发挥了巨大的作用,为软件开发注入了新的生机和活力。虽然4GL具有很多优点,也有很大的优势,成为目前应用开发的主流工具,但它也存在着以下严重不足:4GL虽然功能强大,但在其整体能力上却与3GL有一定的差距。这一方面是语言抽象级别提高以后不可避免地带来的(正如高级语言不能做某些汇编语言做的事情那样);另一方面是人为带来的,许多4GL只面向专项应用,有的4GL为了提高对问题的表达能力,提供了同3GL的接口,以弥补其能力上的不足,如Oracle提供了可将SQL语句嵌入C程序中的工具PRO*C。4GL由于抽象级别较高,不可避免地带来系统开销大、运行效率低(正如高级语言运行效率没有汇编语言高一样)等问题,对软硬件资源消耗严重,其应用受硬件限制。由于缺乏统一的工业标准,4GL产品花样繁多,用户界面差异很大,与具体的机器联系紧密,语言的独立性较差(SQL稍好),所以影响了应用软件的移植与推广。目前4GL主要面向基于数据库应用的领域,不适合用于科学计算、高速的实时系统和系统软件开发。资源来源:计算机程序设计语言的发展过程/a1.2Python程序设计语言的特点Python是一种广泛使用的解释型、高级和通用的编程语言,支持多种编程范型,包括函数式、指令式、结构化、面向对象和反射式编程。Python语言的主要特点是简单易学、面向对象、可移植性、解释性、开源、高级语言、可扩展性、丰富的库、规范的代码。简单易学Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语段落一样,尽管这个英语段落的语法要求非常严格。Python最大的优点之一是具有伪代码的本质,它使我们在开发Python程序时,专注的是解决问题,而不是搞明白语言本身。面向对象Python既支持面向过程编程,也支持面向对象编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,

Python以一种非常强大又简单的方式实现面向对象编程。可移植性由于Python的开源本质,它已经被移植在许多平台上。如果小心地避免使用依赖于系统的特性,那么所有Python程序无需修改就可以在下述任何平台上运行,这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOsOS/390、Z/OS、PalmOS、QNX、VMS、Psion、AcornRISCOS、VxWorks、PlayStation、SharpZaurus、WindowsCE,还有PocketPC、Symbian以及Google基于Linux开发的Android平台。解释性一个用编译性语言如C或C++写的程序可以从源文件(即C或C++语言)转换到一个计算机使用的语言。这个过程通过编译器和不同的标记、选项完成。当运行程序的时候,连接转载器软件把程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于不再担心如何编译程序,如何确保连接转载正确的库等,这一切使得使用Python变得更加简单。由于只需要把Python程序复制到另外一台计算机上,它就可以工作了,这也使得Python程序更加易于移植。5.开源Python是FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝,阅读它的源代码,对它做改动,把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念,这是为什么Python如此优秀的原因之一——它是由一群希望看到一个更加优秀的Python的人创造并经常改进着的。6.高级语言Python是高级语言。当使用Python语言编写程序时,无需再考虑诸如如何管理程序使用的内存一类的底层细节。可扩展性如果需要一段关键代码运行得更快或者希望某些算法不公开,就可以把部分程序用C或C语言编写,然后在Python程序中使用它们。丰富的库Python标准库确实很庞大,它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGl、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GU(图形用户界面)Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的,这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wXPython、Twisted和Pyon图像库等。规范的代码Python采用强制缩进的方式使得代码具有极佳的可读性。资料来源:1.Python语言的主要特点/s?id=1746641437137251161&wfr=spider&for=pcPython语言的特点有哪些?/news/20190712/16444259039.shtml8.1.3Python程序的安装环境步骤一:下载软件打开Python官网,找到下载地址(/downloads/),下载需要的版本。这里以下载3.9.7版本为例,x86是32位,x86-64是64位,如图1所示。图1安装3.9.7版Pythonweb-based、executable、embeddablezipfile的区别:1.web-basedinstaller是需要通过联网完成安装的,就是执行安装后才透过网络下载Python(下载很快,比较文件小,但是后面安装的时候通过网络下载会非常考验你的网络。很容易在最后安装过程中失败)2.executableinstaller是可执行文件(*.exe)方式安装。3.embeddablezipfile压缩档,就是Python打包成zip压缩包,嵌入式版本,可以集成到其他应用中。步骤二:安装点击安装。勾选AddPython.exetoPATH。将Python加入Windows的环境变量中,如果忘记打钩,则需要手工加到环境变量中可以选择自定义安装。自己选择安装的位置和特征。下一步,将图2中的几个选项全部勾选上。图2安装Python时的可选项下一步,再次勾选(这里把Python的环境变量已经加了,但是后面要使用pip的时候就需要手动配置一下环境变量),如图3所示,点击安装。图3安装Python时的高级选项点击下一步后,就开始真正安装了,如图4所示。图4Python安装中步骤三:测试3.9.7Python安装好之后,我们要检测一下是否安装成功,用系统管理员打开命令行工具cmd,输入“python-V”,然后敲回车,如果出现如图5所示界面,则表示我们安装成功了;查看到版本是3.9.7。3.9.7图5Python安装成功环境变量配置好以后,我们在cmd下面可以直接输入“python”,就可以切换到Python的编译环境了,如图6所示。图6在命令行工具中打开Python资料来源:Python环境安装(一)/u012106306/article/details/1000406808.2.1库、函数、变量、数据类型的基本概念1.库Python库就是别人写好的一堆由类(class)和函数(function)组成的代码,可以理解成为程序员的工具箱。例如Python内置库有:datetime库、math库、sys库等等。除了Python内置库外,Python还有第三方库,第三方库不能直接使用,需要通过pip安装,比如:“pipinstallrequests”,“pipinstallpygame”等。常用的内置库有:(1)Counter:主要用来计数统计。(2)NamedTuple:使用nametuple可以创建一个类对象,并且该对象拥有可以访问的属性。(3)DefaultDict:是具有默认初始值的字典。(4)Glob:主要是用来匹配指定路径下的文件信息,并以列表的形式返回匹配到的文件绝对路径。(5)Math:是简单数学函数模块,包括了指数、对数、正弦余弦等函数。(6)Argparse:用于命令项选项与参数解析的模块,该模块可以让人轻松编写用户友好的命令行接口,能够帮助程序员为模型定义参数。(7)Copy:主要涉及浅拷贝和深拷贝的内容。(8)Itertools:包含了许多有用的迭代器函数,熟练的运用它们可以极大提高工作效率。(9)Enum:实现了对于枚举类型的支持,在枚举集合中,枚举成员应该是唯一的而且是不可变的。(10)Calendar:用于处理与日历相关的函数,如我们最常见的判断一个年份是否是闰年。2.函数Python提供了一个功能,将常用的代码以固定的格式封装(包装)成一个独立的模块,只要知道这个模块的名字就可以重复使用它,这个模块就叫做函数(Function)。Python有直接使用的内置函数,比如input()、print()、range()函数等等;还支持自定义函数,即将一段有规律的、可重复使用的代码定义成函数,从而达到一次编写、多次调用的目的。调用函数也就是执行函数。如果把创建的函数理解为一个具有某种用途的工具,那么调用函数就相当于使用该工具。函数调用的基本语法格式如下所示:[返回值]=函数名([形参值])其中,函数名指的是要调用的函数的名称;形参值指的是当初创建函数时要求传入的各个形参的值。如果该函数有返回值,我们可以通过一个变量来接收该值,当然也可以不接受。3.变量在Python中,变量就是一种标识符,它是数据的名字,变量也是存放数据值的容器,是内存中数据的引用。与其他编程语言不同,Python不需要用一条命令声明变量,第一次为变量赋值时,就创建了变量。(1)变量的命名变量可以使用短名称(如x和y)或更具描述性的名称(age、carname、total_volume)。Python变量命名规则:变量名必须以字母或下画线字符开头。变量名称不能以数字开头。变量名只能包含字母数字字符和下画线(A-z、0-9和_)。变量名称区分大小写(age、Age和AGE是三个不同的变量)。(2)变量的赋值在Python中,变量就是代表某个数据(值)的名称,使用“=”来定义,等号左边是变量,右边是变量的值,这一过程也称为变量赋值。在赋值时,值是什么数据类型,就决定了这个变量的类型,变量名引用了数值的同时也引用了它的类型。例如:a=123#a是整数a='imooc'#a变为字符串Python除了可以给一个变量赋值,也可以在同一行内为多个变量赋值,例如:x,y,z="Orange","Banana","Cherry"#将"Orange"赋值给变量x,将"Banana"赋值给变量y,将"Cherry"赋值给变量z。x=y=z="Orange"#将"Orange"分别赋值给变量x、y、z。(3)变量的输出Python的print语句通常用于输出变量。如需结合文本和变量,Python使用+字符,例如:例1:x="awesome"print("Pythonis"+x)例2:x="Pythonis"y="awesome"z=x+yprint(z)例1和例2的输出结果均为"Pythonisawesome",+字符的作用是连接字符串。例3:x=5y=10print(x+y)例3的输出结果是15,此时+符号的作用是数学运算符。例4:x=10y="Bill"print(x+y)例4在运行时会出错,因为变量x与变量y的数据类型不相同,+符号既不能实现数据连接,也不能实现数学运算。4.数据类型在编程中,数据类型是一个重要的概念,指一个数据的类型。变量可以存储不同类型的数据,并且不同类型可以执行不同的操作。在这些类别中,Python默认拥有表1所示的内置数据类型:表1Python默认的内置数据类型在Python中,在进行变量赋值的过程中,同步设置了数据类型,例如表2所罗列类型:表2Python进行变量赋值时同步设置的数据类型资料来源:C语言中文网、W3school8.2.2程序的基本结构任何简单或复杂的算法都可以由顺序结构、选择结构和循环结构这三种基本结构组合而成。顺序结构顺序结构是最简单的程序结构,程序中的各个操作是按照它们在源代码中的排列顺序,自上而下,依次执行。流程图如图1:图1顺序结构选择结构选择结构用于判断给定的条件,进而控制程序的流程。它会根据某个特定的条件进行判断后,选择其中一支执行。单分支流程图如图2:图2单分支流程图双分支流程图如图3:图3单分支流程图循环结构循环结构是指在程序中需要反复执行某个或某些操作,直到条件为假或为真时才停止循环一种程序结构。循环结构可以看成是一个条件判断语句和一个向回转向语句的组合。它有三个要素:循环变量、循环体和循环终止条件。它由循环体中的条件,判断继续执行某个功能还是退出循环。根据判断条件,循环结构又可细分为以下两种形式:●当型循环结构(图4):先判断(条件)再执行。当给定的条件满足时执行A块,否则不执行A块而直接跳到下面部分执行。图4当型循环结构●直到型循环结构(图5):先执行后判断。它的含义是:执行A块直到满足给定的条件为止(满足了条件就不再执行A块)。图5直到型循环结构资料来源:C语言中文网、W3school、php中文网8.2.3分支结构与循环结构的语法1.分支结构的语法在Python中,可以使用if-else语句对条件进行判断,然后根据不同的结果执行不同的代码,这称为选择结构或者分支结构。if-else语句可以细分为三种形式,分别是if语句、if-else语句和if-elif-else语句,具体如下:(1)if语句语法格式执行流程if表达式:代码块例如:根据输入的年龄,判断是否成年age=int(input("请输入你的年龄:"))ifage<18:print("你还未成年,建议在家人陪同下使用该软件!")print("如果你已经得到了家长的同意,请忽略以上提示。")(2)if-else语句语法格式执行流程if表达式:代码块1else:代码块2例如:根据输入的年龄,判断是否成年,如果未成年则退出程序importsysage=int(input("请输入你的年龄:"))ifage<18:print("警告:你还未成年,不能使用该软件!")print("未成年人应该好好学习,读个好大学,报效祖国。")sys.exit()else:print("你已经成年,可以使用该软件。")print("时间宝贵,请不要在该软件上浪费太多时间。")(3)if-elif-else语句语法格式执行流程if表达式1:代码块1elif表达式2:代码块2elif表达式3:代码块3...//其它elif语句else:代码块n例如:判断一个人的身材是否合理height=float(input("输入身高(米):"))weight=float(input("输入体重(千克):"))bmi=weight/(height*height)#计算BMI指数ifbmi<18.5:print("BMI指数为:"+str(bmi))print("体重过轻")elifbmi>=18.5andbmi<24.9:print("BMI指数为:"+str(bmi))print("正常范围,注意保持")elifbmi>=24.9andbmi<29.9:print("BMI指数为:"+str(bmi))print("体重过重")else:print("BMI指数为:"+str(bmi))print("肥胖")对语法格式的几点说明:“表达式”可以是一个单一的值或者变量,也可以是由运算符组成的复杂语句,形式不限。“代码块”由具由相同缩进量的若干条语句组成。if、elif、else语句的最后都有冒号。不管有多少个分支,都只能执行一个分支(或者一个也不执行),不可能同时执行多个分支。Python是以缩进来标记代码块的,代码块一定要有缩进,没有缩进的不是代码块。另外,同一个代码块的缩进量要相同,缩进量不同的不属于同一个代码块。2.循环结构的语法(1)while循环语句Python中,while循环是指在条件(表达式)为真的情况下,会一直重新执行相应的代码块。语法格式执行流程while条件表达式:代码块例如:打印1—100的所有数字,就可以使用while循环,代码如下:#循环的初始化条件num=1#当num小于100时,会一直执行循环体whilenum<100:print("num=",num)#迭代语句num+=1print("循环结束!")(2)for循环语句for循环,它常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素。语法格式执行流程for迭代变量in字符串|列表|元组|字典|集合:代码块例如:实现从1到100的累加,代码如下:print("计算1+2+...+100的结果为:")#保存累加结果的变量result=0#逐个获取从1到100这些值,并做累加操作foriinrange(101):result+=iprint(result)运行结构为:资料来源:C语言中文网8.2.4turtle库Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。一、turtle库介绍1.基本介绍turtle库:(1)1969年诞生(2)Python语言的标准库之一(3)入门级的图形绘制函数库2.turtle绘图原理turtle海龟走过的轨迹绘制成了图形。二、turtle构建体系1.turtle绘图窗体布局(1)最小单位是像素,左上角是(0,0)。(2)startx与starty:绘图窗体出现在屏幕的哪里,后两个参数可选,默认正中心。2.绝对坐标绝对坐标:就是标准的xOy坐标系,上y右x,中央点是(0,0)。3.海龟坐标standard模式下(默认):头朝的方向就是前方:如当龟头朝右时,右侧就为前方。开始默认头朝右。4.turtle角度坐标体系角度坐标体系:就是数学上的坐标轴角度,绕x轴逆时针角度从0°到360°。(1)turtle.setheading(angle)别名turtle.seth(angle):只改变方向不行进。如turtle.seth(90):海龟的朝向为90度。注意:与当前海龟头的朝向没有关系,90度就一定向上。turtle.left(angle)与turtle.right(angle):在海龟当前头的方向上再向左/右转多少度。三、函数纵览1.海龟方法(1)海龟动作(2)画笔控制(3)海龟状态(4)使用事件(5)特殊的海龟方法2.TurtleScreen/Screen的方法四、海龟方法详解1.海龟动作(1)移动和绘制turtle.forward(distance)turtle.fd(distance)参数:distance–一个数值(整型或浮点型)作用:海龟前进distance指定的距离,方向为海龟的朝向turtle.back(distance)turtle.bk(distance)turtle.backward(distance)参数:distance–一个数值作用:海龟后退distance指定的距离,方向与海龟的朝向相反。不改变海龟的朝向。turtle.right(angle)turtle.rt(angle)参数:angle–一个数值(整型或浮点型)作用:海龟右转angle个单位。(单位默认为角度,但可通过degrees()和radians()函数改变设置。)turtle.left(angle)turtle.lt(angle)参数:angle–一个数值(整型或浮点型)作用:海龟左转angle个单位。(单位默认为角度,但可通过degrees()和radians()函数改变设置。)turtle.goto(x,y=None)turtle.setpos(x,y=None)turtle.setposition(x,y=None)参数:x–一个数值或数值对/向量y–一个数值或None如果y为None,x应为一个表示坐标的数值对或Vec2D类对象(例如pos()返回的对象).作用:海龟移动到一个绝对坐标。如果画笔已落下将会画线。不改变海龟的朝向。turtle.setx(x)参数:x–一个数值(整型或浮点型)作用:设置海龟的横坐标为x,纵坐标保持不变。turtle.sety(y)参数:y–一个数值(整型或浮点型)作用:设置海龟的纵坐标为y,横坐标保持不变。turtle.setheading(to_angle)turtle.seth(to_angle)参数:to_angle–一个数值(整型或浮点型)作用:设置海龟的朝向为to_angle。turtle.home()作用:海龟移至初始坐标(0,0),并设置朝向为初始方向(由海龟模式确定,参见mode())。turtle.circle(radius,extent=None,steps=None)参数:radius–一个数值(整型或浮点型),表示半径如果radius为正值则圆心在乌龟头的左边,否则圆心在乌龟头的右边。extent–一个数值(整型或浮点型),表示角度如未指定extent则绘制整个圆,指定角度(可以大于360°)则绘制圆弧。如果radius为正值则按乌龟的前进的方向,否则按乌龟的倒退的方向。steps–一个整型数如未指定steps则绘制圆弧,指定则绘制多边形(边数大于0)。作用:绘制一个radius指定半径的多边形部分。turtle.dot(size=None,*color)参数:size–一个整型数>=1(如果指定)如果size未指定,则直径取pensize+4和2*pensize中的最大值。color–一个颜色字符串或颜色数值元组未指定则是画笔颜色。作用:绘制一个直径为size,颜色为color的圆点。turtle.undo()作用:撤消(或连续撤消)最近的一个(或多个)海龟动作。可撤消的次数由撤消缓冲区的大小决定。turtle.speed(speed=None)参数:speed–一个0到10范围内的整型数或速度字符串无参:返回当前海龟的速度speed对应表:如果输入数值大于10或小于0.5则速度设为0。字符串 数字 含义“fastest” 0 最快“fast” 10 快“normal” 6 正常“slow” 3 慢“slowest” 1 最慢速度值从1到10,画线和海龟转向的动画效果逐级加快。speed=0表示没有动画效果(转向),但绘制还是需要时间,最快。作用:设置海龟移动的速度或返回当前海龟的速度。(2)获取海龟状态turtle.position()turtle.pos()作用:返回海龟当前的坐标(x,y)(为Vec2D矢量类对象)。turtle.towards(x,y=None)参数:x–一个数值或数值对/矢量,或一个海龟实例y–一个数值——如果x是一个数值,否则为None返回一个角度,从海龟位置到到(x,y)的矢量到海龟初始朝向的矢量的夹角。turtle.xcor()作用:返回海龟的x坐标。turtle.ycor()作用:返回海龟的y坐标。turtle.heading()作用:返回海龟当前的朝向的角度。turtle.distance(x,y=None)参数:x–一个数值或数值对/矢量,或一个海龟实例y–一个数值——如果x是一个数值,否则为None返回从海龟位置到(x,y)的单位距离。(3)度量单位设置turtle.degrees(fullcircle=360.0)参数:fullcircle–一个数值作用:设置一个圆周为多少“度”。默认值为360度。turtle.radians()设置角度的度量单位为弧度。其值等于度÷180×π度\div180\times\pi度÷180×π。2.画笔控制(1)绘图状态turtle.pendown()turtle.pd()turtle.down()作用:画笔落下–移动时将画线。turtle.penup()turtle.pu()turtle.up()作用:画笔抬起–移动时不画线。turtle.pensize(width=None)turtle.width(width=None)参数:width–一个正数值无参:返回画笔的线条粗细。作用:设置线条的粗细为width或返回该值。turtle.isdown()作用:如果画笔落下返回True,如果画笔抬起返回False。(2)颜色控制turtle.pencolor(*args)参数:pencolor()返回表示当前画笔颜色的颜色描述字符串或元组。pencolor(colorstring)设置画笔颜色为colorstring指定的Tk颜色描述字符串。如:turtle.pencolor("brown")或turtle.pencolor('#32c18f')pencolor(r,g,b)设置画笔颜色为以r,g,b表示的RGB颜色。r,g,b的取值范围应为0…colormode。如:turtle.pencolor(0.2,0.8,0.55)或turtle.pencolor(51.0,204.0,140.0)作用:返回或设置画笔颜色。turtle.fillcolor(*args)参数:同turtle.pencolor(*args)fillcolor()fillcolor(colorstring)fillcolor((r,g,b))fillcolor(r,g,b)作用:返回或设置填充颜色。turtle.color(*args)参数:color()返回以一对颜色描述字符串或元组表示的画笔颜色和填充颜色,两者可分别由pencolor()和fillcolor()返回。color(colorstring),color((r,g,b)),color(r,g,b)同时设置填充颜色和画笔颜色为指定的值。color(colorstring1,colorstring2),color((r1,g1,b1),(r2,g2,b2))相当于pencolor(colorstring1)加fillcolor(colorstring2)作用:返回或设置画笔颜色和填充颜色。(3)填充turtle.filling()作用:返回填充状态(填充为True,否则为False)。turtle.begin_fill()作用:在绘制要填充的形状之前调用。要配合turtle.end_fill()使用。turtle.end_fill()作用:填充上次调用begin_fill()之后绘制的形状。要配合turtle.begin_fill()使用。(4)更多绘图控制turtle.reset()作用:从屏幕中删除海龟的绘图,海龟回到原点并设置所有变量为默认值。turtle.clear()作用:从屏幕中删除指定海龟的绘图。不移动海龟。海龟的状态和位置以及其他海龟的绘图不受影响。turtle.write(arg,move=False,align="left",font=("Arial",8,"normal"))参数:arg–要书写到TurtleScreen的对象如:"something",123,(1,2),[1,2,3]等move–True/False如果move为True,画笔会移动到文本的右下角,这样文字就不会叠在一块了。align–字符串“left”,“center”或“right”align指定对齐方式(“left”,“center”或right")font–一个三元组(fontname,fontsize,fonttype)font指定字体3.海龟状态(1)可见性turtle.hideturtle()turtle.ht()作用:使海龟不可见。当你绘制复杂图形时这是个好主意,因为隐藏海龟可显著加快绘制速度。turtle.showturtle()turtle.st()作用:使海龟可见。turtle.isvisible()作用:如果海龟显示返回True,如果海龟隐藏返回False。(2)外观turtle.shape(name=None)参数:name–一个有效的形状名字符串无参:返回当前的形状名设置海龟形状或返回当前的形状名。 turtle.register_shape(name,shape=None)turtle.addshape(name,shape=None)调用此函数有三种不同方式:name为一个gif文件的文件名,shape为None:安装相应的图像形状。:注解:当海龟转向时图像形状不会转动,因此无法显示海龟的朝向!name为指定的字符串,shape为由坐标值对构成的元组:安装相应的多边形形状。importturtleturtle.register_shape("myshape",((-20,20),(0,-10),(50,0)))turtle.shape("myshape")turtle.done()name为指定的字符串,为一个(复合)Shape类对象:安装相应的复合形状。作用:将一个海龟形状加入TurtleScreen的形状列表。只有这样注册过的形状才能通过执行shape(shapename)命令来使用。4.使用事件turtle.onclick(fun,btn=1,add=None)参数:fun–一个函数,调用时将传入两个参数表示在画布上点击的坐标。如果fun值为None,则移除现有的绑定。btn–鼠标按钮编号,默认值为1(鼠标左键)左中右:1,2,3add–True或False–如为True则将添加一个新绑定,否则将取代先前的绑定作用:将fun指定的函数绑定到鼠标点击此海龟引发事件或移除绑定。(注意,不是随便点,是点击海龟。)turtle.onrelease(fun,btn=1,add=None)参数:fun–一个函数,调用时将传入两个参数表示在画布上点击的坐标。如果fun值为None,则移除现有的绑定。btn–鼠标按钮编号,默认值为1(鼠标左键)add–True或False–如为True则将添加一个新绑定,否则将取代先前的绑定作用:将fun指定的函数绑定到在此海龟上释放鼠标按键事件。(注意,在海龟上点击后释放鼠标才有效,在别的地方点击把鼠标拖过来释放无效。)turtle.ondrag(fun,btn=1,add=None)参数:fun–一个函数,调用时将传入两个参数表示在画布上点击的坐标。如果fun值为None,则移除现有的绑定。btn–鼠标按钮编号,默认值为1(鼠标左键)add–True或False–如为True则将添加一个新绑定,否则将取代先前的绑定作用:将fun指定的函数绑定到在此海龟上移动鼠标事件。5.特殊海龟方法turtle.begin_poly()开始记录多边形的顶点。当前海龟位置为多边形的第一个顶点。turtle.end_poly()停止记录多边形的顶点。当前海龟位置为多边形的最后一个顶点。它将连线到第一个顶点。turtle.get_poly()返回最新记录的多边形。五、TurtleScreen/Screen方法详解1.窗口控制turtle.bgcolor(*args)参数:同turtle.pencolor(*args)作用:设置或返回TurtleScreen的背景颜色。turtle.bgpic(picname=None)参数:picname–一个字符串,gif-文件名,“nopic”,或None如果picname为一个文件名,则将相应图片设为背景。如果picname为“nopic”,则删除当前背景图片。如果picname为None,则返回当前背景图片文件名。作用:设置背景图片或删除背景或返回当前背景图片名称。turtle.reset()turtle.resetscreen()作用:删除所有海龟的全部绘图,重置屏幕上的所有海龟为其初始状态。turtle.clear()turtle.clearscreen()作用:不仅达到turtle.reset()的作用,而且删除背景片成白色背景,无事件绑定并启用追踪。turtle.screensize(canvwidth=None,canvheight=None,bg=None)参数:canvwidth–正整型数,以像素表示画布的新宽度值这个值可以超过电脑屏幕的尺寸,可以展示一副超大的画布。canvheight–正整型数,以像素表示画面的新高度值这个值可以超过电脑屏幕的尺寸,可以展示一副超大的画布。bg–颜色字符串或颜色元组,新的背景颜色作用:如未指定任何参数,则返回当前的(canvaswidth,canvasheight)。否则改变作为海龟绘图场所的画布大小。(通过此方法可以令之前绘制于画布之外的图形变为可见。可以使用滚动条观察画布的隐藏区域。)2.动画控制turtle.delay(delay=None)参数:delay–正整型数无参返回以毫秒数表示的延迟值delay作用:设置或返回以毫秒数表示的延迟值delay。(这约等于连续两次画布刷新的间隔时间。)绘图延迟越长,动画速度越慢。turtle.tracer(n=None,delay=None)参数:n–非负整型数如果指定n值,则只有每第n次屏幕刷新会实际执行。(可被用来加速复杂图形的绘制。)如果调用时不带参数,则返回当前保存的n值。delay–非负整型数第二个参数设置延迟值(参见delay())。作用:启用/禁用海龟动画并设置刷新图形的延迟时间。turtle.update()作用:执行一次TurtleScreen刷新。在禁用追踪时使用。3.使用屏幕事件turtle.listen(xdummy=None,ydummy=None)作用:设置焦点到TurtleScreen(以便接收按键事件)。使用两个Dummy参数以便能够传递listen()给onclick方法。turtle.onkeypress(fun,key=None)参数:fun–一个无参数的函数或None如果fun值为None,则移除事件绑定。key–一个字符串:键(例如“a”)或键标(例如“space”)如未指定键则绑定到任意键的按下事件。作用:绑定fun指定的函数到指定键的按下事件。注:为了能够注册按键事件,必须得到焦点。(参见listen()方法。)turtle.onkey(fun,key)turtle.onkeyrelease(fun,key)参数:fun–一个无参数的函数或None如果fun值为None,则移除事件绑定。key–一个字符串:键(例如“a”)或键标(例如“space”)作用:绑定fun指定的函数到按键按下并释放事件。注:为了能够注册按键事件,TurtleScreen必须得到焦点。(参见listen()方法)turtle.onscreenclick(fun,btn=1,add=None)参数:fun–一个函数,调用时将传入两个参数表示在画布上点击的坐标。如果fun值为None,则移除现有的绑定。btn–鼠标按钮编号,默认值为1(鼠标左键)add–True或False–如为True则将添加一个新绑定,否则将取代先前的绑定作用:绑定fun指定的函数到鼠标点击屏幕事件。turtle.ontimer(fun,t=0)参数:fun–一个无参数的函数t–一个数值>=0作用:安装一个计时器,在t毫秒后调用fun函数。turtle.mainloop()turtle.done()必须作为一个海龟绘图程序的结束语句。要不然程序会无响应。4.设置与特殊方法turtle.mode(mode=None)参数:mode–字符串“standard”,“logo”或“world”其中之一无参:如未指定模式则返回当前的模式。作用:设置海龟模式(“standard”,“logo”或“world”)并执行重置。turtle.colormode(cmode=None)参数:cmode–数值1.0或255其中之一无参:返回colormode作用:返回颜色模式或将其设为1.0或255。构成颜色三元组的r,g,b数值必须在0…cmode范围之内,否则报错turtle.window_height()返回海龟窗口的高度。:turtle.window_width()返回海龟窗口的宽度。5.输入方法turtle.textinput(title,prompt)参数:title–字符串形参title为对话框窗口的标题prompt–字符串prompt为一条文本,通常用来提示要输入什么信息作用:弹出一个对话框窗口用来输入一个字符串,并返回输入的字符串。如果对话框被取消则返回None。:turtle.numinput(title,prompt,default=None,minval=None,maxval=None)参数:title–字符串title为对话框窗口的标题prompt–字符串prompt为一条文本,通常用来描述要输入的数值信息。default–数值(可选)默认值minval–数值(可选)可输入的最小值maxval–数值(可选)可输入的最大值。输入数值的必须在指定的minval…maxval范围之内,否则将给出一条提示,对话框保持打开等待修改。作用:弹出一个对话框窗口用来输入一个数值。返回输入的数值。如果对话框被取消则返回None。6.Screen专有方法turtle.bye()作用:关闭海龟绘图窗口。turtle.exitonclick()作用:将bye()方法绑定到Screen上,鼠标点击屏幕退出。turtle.setup(width=_CFG["width"],height=_CFG["height"],startx=_CFG["leftright"],starty=_CFG["topbottom"])作用:设置主窗口的大小和位置。默认参数值保存在配置字典中,可通过turtle.cfg文件进行修改。参数:width–如为一个整型数值,表示大小为多少像素,如为一个浮点数值,则表示屏幕的占比;默认为屏幕的50%height–如为一个整型数值,表示高度为多少像素,如为一个浮点数值,则表示屏幕的占比;默认为屏幕的75%startx–如为正值,表示初始位置距离屏幕左边缘多少像素,负值表示距离右边缘,None表示窗口水平居中starty–如为正值,表示初始位置距离屏幕上边缘多少像素,负值表示距离下边缘,None表示窗口垂直居中资源来源:python库之turtle库官方文档入门/sandalphon4869/article/details/994439498.3Python编程必备工具Python是编程入门者非常不错的选择,现在不少程序员都开始转行到Python行列中,因为简单易学、应用范围广,不过学习Python还是需要一个好的工具,否则会吃不少苦头,那么Python编程必备5大工具,你用过几个?lpython:是一个基于PythonShell的交互式解释器。自动补全非常好用,甚至用了它之后,很多程序员小伙伴们就不想再用自带的pythonshell啦。Anaconda:堪称是数据分析的利器,附带了一大批常用数据科学包,是数据分析的标配。包含了一个包管理工具和一个Python管理环境。Sublime3:绝对是轻量级的编辑器工具。代码高亮、语法提示、华丽的界面简直是就是赏心悦目,还支持插件扩展,用Sublime3写代码绝对是一种享受。pycharmpython:一款强大的pythonIDE。拥有调试、语法高亮、代码跳转、智能提示等功能,功能非常齐全。QPython:可以在安卓系统上运行Python脚本引擎,整合了Python解释器、Console、编辑器和SL4A库。资料来源:Python编程必备5大工具,你用过几个?/BCXQ2020/article/details/1067178968.3.1tkinter库Python提供了很多的GUI(图形用户编程)界面工具,如Python的标准TKGUI工具包接口tkinter、wxWidgets模块、easyGUI模块、wxPython模块等。本文主要介绍使用tkinter模块开发图形用户界面的方法,并介绍一些常用的tkinter组件。tkinter模块(TK接口)是Python的标准TKGUI工具包的接口。TK和tkinter可以在大多数Unix平台下使用,也可以应用在Windows和Macintosh系统里。1.创建Windows窗体在GUI程序中,首先需要建立一个顶层窗口,这个顶层窗口可以容纳所有的小窗口

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论