少儿编程网 > 少儿编程知道 > 少儿python编程界面

留言申请试听免费课程【】人申请

少儿python编程界面

请问python的界面是这个样的吗?

少儿<a href=http://www.pxcodes.com/Python/ target=_blank class=infotextkey>python编程</a>界面

计苤函EQF少儿编程网-https://www.pxcodes.com

首先Python 是一门编程语言,主要是作为后端语言来使用的。近年来在人工智能、数据处理以及数据分析、数据建模预测等方面的有着较为突出的优势。EQF少儿编程网-https://www.pxcodes.com

下图为Python语言的图标EQF少儿编程网-https://www.pxcodes.com

下图为Python语言编辑器图标EQF少儿编程网-https://www.pxcodes.com

下图为Pycharm编辑器的界面EQF少儿编程网-https://www.pxcodes.com

祝各位都能达到自己的理想,在编程界也都能做出自己微博的贡献。EQF少儿编程网-https://www.pxcodes.com

EQF少儿编程网-https://www.pxcodes.com

少儿Python编程_第十六讲:图形界面开发

少儿python编程界面

施埃訇EQF少儿编程网-https://www.pxcodes.com

运行在计算机上的程序一般分为命令行程序和图形界面程序,例如:安装Python三方模块的pip命令,软件版本管理的git命令等都属于命令行程序;而大多数软件使用图形界面,例如Windows的Word,Excel,画图等等软件都是图形化用户界面,简称GUI。EQF少儿编程网-https://www.pxcodes.com

在图形化用户界面中,用户可以用鼠标操作菜单、按钮等图形化组件,并从对话框等图型化组件中获取信息。实现图形化界面的方法与制作游戏界面的流程相似:在初始化工具之后,进入主循环接收用户事件,并且进行显示、反馈等处理,直到程序退出,才结束主循环。与绘制游戏界面不同的是,游戏界面中的绘图、处理鼠标事件都需要开发者写程序自行处理,而图形用户界面内部已经实现了按钮、文本框的绘制和响应事件,使用时调用这些控件即可,减少了编写程序的工作量。EQF少儿编程网-https://www.pxcodes.com

图形界面在任何编程语言中原理都一样,本讲通过Python图形界面编程,介绍图形界面中的基本概念和简单用法:常用控件、布局方法、事件处理。EQF少儿编程网-https://www.pxcodes.com

16.1 图形界面入门

Python的图形用户界面常使用Tkinter开发,Tcl 是“工具控制语言”的缩写。Tk是Tcl“图形工具箱”的扩展,而Tkinter是Tk interface的缩写,意思是TK界面。EQF少儿编程网-https://www.pxcodes.com

在Windows系统中Tkinter已由Anaconda安装,可以直接使用,在Linux下则需要使用apt安装python3-tk软件包。EQF少儿编程网-https://www.pxcodes.com

16.1.1 基本概念

在学习具体编程之前,先了解一些基本概念。EQF少儿编程网-https://www.pxcodes.com

1.控件EQF少儿编程网-https://www.pxcodes.com

控件也叫组件,是图形用户界面中**基本的组成部分,常用的控件有:按钮、文本框、标签、表格等等。EQF少儿编程网-https://www.pxcodes.com

2.容器EQF少儿编程网-https://www.pxcodes.com

容器是一种特殊的控件,它能容纳其它控件,如窗口、对话框都属于容器。EQF少儿编程网-https://www.pxcodes.com

3.布局EQF少儿编程网-https://www.pxcodes.com

布局是控制控件在容器中的大小和位置的方法。EQF少儿编程网-https://www.pxcodes.com

4.事件处理EQF少儿编程网-https://www.pxcodes.com

事件是可以被程序识别的操作,如:按下按钮,选择某个单选按钮或者复选框,关闭程序等等,开发者往往需要对事件做出处理,响应某个事件的函数就是事件处理程序,也被称为回调函数。EQF少儿编程网-https://www.pxcodes.com

16.1.2程序示例

下例是一个简单的图形界面程序,它创建窗口。并在窗口中显示两行文字“test1”和“test2”。EQF少儿编程网-https://www.pxcodes.com

01 import tkinter
02  
03 win = tkinter.Tk()
04 win.geometry("320x240+200+50")
05 tx1 = tkinter.Label(win, text="test1")
06 tx1.pack()
07 tx2 = tkinter.Label(win, text="test2")
08 tx2.pack()
09 win.mainloop()

第01行引入tkinter模块。
第03行创建一个实例,用于显示窗口。
第04行设置窗口大小为:宽度320,高度240,位置在屏幕横坐标200,纵坐标50。
第05行创建标签控件tx1用于显示文字,Label函数有两个参数,第一个参数指定控件所在的容器,第二个参数text指定标签上显示的文字。
第06行将控件放置在容器之中,pack是布局的一种方法,将在之后的“布局”部分详细介绍。
第07-08行创建和放置了第二个标签tx2。
第09行开启主循环,在窗口关闭时主循环退出,程序结束。EQF少儿编程网-https://www.pxcodes.com

程序运行结果如图16.1所示:EQF少儿编程网-https://www.pxcodes.com

16.2 布局

布局是把控件放置到容器之中,并且指定放在哪里,以及如何放置。Tkinter有3种基本布局管理器:pack、grid和place,还提供容器Frame支持复杂的嵌套布局。EQF少儿编程网-https://www.pxcodes.com

16.2.1 常用布局方法

1. pack布局EQF少儿编程网-https://www.pxcodes.com

pack是**常用的布局方法——顺序布局,用于按顺序添加各个控件,上例中使用pack分别添加了两个文字标签,可以看到控件按添加的顺序依次显示在窗口中。图16.2分别展示了横向和纵向顺序布局的方法。EQF少儿编程网-https://www.pxcodes.com

其基本语法如下:EQF少儿编程网-https://www.pxcodes.com

01 控件名.pack(可选参数)

布局的可选参数如表16.1所示:EQF少儿编程网-https://www.pxcodes.com

2.grid布局EQF少儿编程网-https://www.pxcodes.com

grid按网格摆放控件,如图16.3所示,其中每个控件的位置都由行索引row和列索引colomn两个值确定,索引号从0开始(不是1),如左上角的控件1行列为0,0;控件2行列为0,1,以此类推。EQF少儿编程网-https://www.pxcodes.com

其基本语法如下,该函数也支持表16.1中的参数。EQF少儿编程网-https://www.pxcodes.com

01 控件名.grid(row=行索引, column=列索引,可选参数)

3.place布局EQF少儿编程网-https://www.pxcodes.com

place按具体坐标摆放控件。如图16.4所示,用x1,y1设置控件1左上角的位置。EQF少儿编程网-https://www.pxcodes.com

其基本用法如下,该函数也支持表16.1中的参数。EQF少儿编程网-https://www.pxcodes.com

01 控件名.place(x=横坐标, y=纵坐标,可选参数)

16.2.2 容器布局

当界面设计比较复杂时,一般使用Frame容器实现布局。Frame译为框架,它是一种容器,容器是可以包含其它控件的特殊控件。图16.5在同一窗口中加入了11个控件,包含顺序和网格两种布局方法,实现此界面,需要建立两个frame容器,一个容器为深色背景,用于存放控件1和控件2,另一个容器为浅灰色背景,用于存放其它网络布局的控件。Frame本身也是控件,两个frame控件也使用了顺序布局。EQF少儿编程网-https://www.pxcodes.com

其基本语法如下。EQF少儿编程网-https://www.pxcodes.com

01 f= Frame(父容器,可选参数)

以上程序创建了容器f,之后可以将其它控件加入该容器。“父/子”用于描述容器和控件之间的关系,通常将包含其它控件的容器称为“父”,而被包含的控件被称为“子”。EQF少儿编程网-https://www.pxcodes.com

16.2.3 综合实例

本例中使用了pack、grid、place、frame多种方法布局界面。EQF少儿编程网-https://www.pxcodes.com

01 import tkinter
02  
03 win = tkinter.Tk()
04 win.geometry("320x240+200+50")
05  
06 f1 = tkinter.Frame(win)
07 f1.pack()
08 f2 = tkinter.Frame(win)
09 f2.pack()
10  
11 tx1 = tkinter.Label(f1, text="test1")
12 tx1.grid(row=0,column=0)
13 tx2 = tkinter.Label(f1, text="test2")
14 tx2.grid(row=1,column=1)
15 tx3 = tkinter.Label(f2, text="test3")
16 tx3.pack()
17 tx4 = tkinter.Label(win, text="test4")
18 tx4.place(x=10,y=10)
19  
20 win.mainloop()

第01-04行用于引入模块和创建窗口。
第06行创建容器f1,并指定其父容器为窗口。
第07行用pack方法将容器以顺序方式布局。
第08-09行建立并加入了第二个容器f2。
第11行创建标签控件tx1,设置其父容器为f1。
第12行用网格方式布局tx1显示在网格的第0行0列。
第13-14行创建标签控件tx2,并以网格方式布局tx2显示在网格的第1行1列。
第15行创建标签tx3,设置其父容器为f2。
第16行用顺序方式将控件tx3布局到其父容器中。
第17行创建标签tx4,设置其父容器为窗口win。
第18行用指定具体位置的方式将控件布局到窗口的坐标为(10,10)位置上。
第20行开启主循环,在窗口关闭时主循环退出,程序结束。EQF少儿编程网-https://www.pxcodes.com

程序运行结果如图16.7所示,其中深灰色部分为容器f2,浅灰色部分为容器f1,它们大小不同是由于容器大小等于其子控件大小。f1中子控件更多,因此区域更大。EQF少儿编程网-https://www.pxcodes.com

16.3 控件

Tkinter除了标签控件Label,还支持很多其它控件,本节将介绍**为常用的:按钮、输入框、选择框、以及显示图片的控件。EQF少儿编程网-https://www.pxcodes.com

16.3.1 常用控件

1.标签EQF少儿编程网-https://www.pxcodes.com

标签控件用于显示文字或者图片,定义方法如下: EQF少儿编程网-https://www.pxcodes.com

01 tkinter.Label(父容器, [可选参数])

控件常用的可选参数如表16.2所示:EQF少儿编程网-https://www.pxcodes.com

2.按钮EQF少儿编程网-https://www.pxcodes.com

按钮控件是**常用的控件,例如对话框中的“确定”、“取消”都用按钮控件实现。定义方法如下:EQF少儿编程网-https://www.pxcodes.com

01 tkinter.Button(父容器, [可选参数])

3.输入框EQF少儿编程网-https://www.pxcodes.com

输入框显示为矩形框,供用户输入信息使用。定义方法如下:EQF少儿编程网-https://www.pxcodes.com

01 tkinter.Entry(父容器, [可选参数])

4.选择框EQF少儿编程网-https://www.pxcodes.com

一般情况下,选择框前面是一个矩形方框,后面跟随说明文字,例如:让用户选择“婚否”,结婚则在矩形方框中打钩,否则留空。定义方法如下:EQF少儿编程网-https://www.pxcodes.com

01 tkinter.Checkbutton(父容器, [可选参数])

5.图片EQF少儿编程网-https://www.pxcodes.com

图片不直接作为控件使用,而是作为标签或者其它控件的背景,如果不设置标签文字,只设置其背景图片,则该标签是一个图片标签。图片的加载方法如下:EQF少儿编程网-https://www.pxcodes.com

01 tkinter.PhotoImage(file=图片路径)

图片加载后,可放在控件的可选参数image中使用。EQF少儿编程网-https://www.pxcodes.com

16.3.2 获取和设置控件的属性

属性指的是控件的性质,一般在创建控件时指定,如:控件的宽度width,高度height等,查看控件的属性方法类似于访问字典,具体方法如下:EQF少儿编程网-https://www.pxcodes.com

01 控件变量名[属性名]

使用configure方法可以重新设置控件属性值,使用方法如下:EQF少儿编程网-https://www.pxcodes.com

01 控件变量名.configure(属性名=属性值)

下例是操作属性的实际应用:EQF少儿编程网-https://www.pxcodes.com

01 x = tkinter.Label(win, text=”abcd”)
02 print(x[‘text’])
03 x.configure(text=’efg’)

第01行建立了标签控件,并设置标签显示的文字:text属性为“abcd”。
第02行显示出控件变量x的text属性。
第03行修改控件变量x的text属性为“efg”。EQF少儿编程网-https://www.pxcodes.com

16.3.3 综合实例

下面通过综合实例,进一步巩固本节中介绍的各个控件的用法。EQF少儿编程网-https://www.pxcodes.com

01 import tkinter
02  
03 win = tkinter.Tk()
04 label = tkinter.Label(win,text="请填表") # 创建文字标签控件
05 label.pack()
06 img = tkinter.PhotoImage(file='bird.png') # 加载图片
07 label_img = tkinter.Label(win,image=img) # 创建图片标签控件
08 label_img.pack()
09 entry = tkinter.Entry(win) # 创建输入框控件
10 entry.pack()
11 check = tkinter.Checkbutton(win,text="婚否") # 创建选择框控件
12 check.pack(anchor='w')
13 button = tkinter.Button(win, text="退出") # 创建按钮控件
14 button.pack()
15 win.mainloop()

程序运行结果如图16.7所示:EQF少儿编程网-https://www.pxcodes.com

课后练习:(练习答案见本讲**后的小结部分)EQF少儿编程网-https://www.pxcodes.com

练习一:绘制如图16.8所示的计算器界面,其中上方用Label显示输入数值和计算结果,下方提供12个按钮用于输入数字和符号。EQF少儿编程网-https://www.pxcodes.com

16.4 事件处理

程序需要接收用户操作,并进行反馈。用户操作和系统发来的信息统称事件,事件又分为两种,一种是与整个窗口相关的事件,比如关闭窗口,另一种是与单个控件相关的事件,比如按下按钮Button产生的事件。EQF少儿编程网-https://www.pxcodes.com

16.4.1 控件事件处理

在创建按钮时,可通过command参数设置当按钮按下时调用的函数,即事件响应函数,用法如下例所示:EQF少儿编程网-https://www.pxcodes.com

01 def do_1():
02     print("按下1")
03  
04 bt=tkinter.Button(win, text='1',command=do_1)
05 bt.pack()

第01-02行定义了事件的响应函数do_1,并在函数中显示字符串“按下1”。
第04行创建按钮控件,并指定按下按钮时调用函数do_1(注意:本行do_1函数并未被调用)。EQF少儿编程网-https://www.pxcodes.com

16.4.2 窗口事件处理

在创建按钮时,可通过protocol设置窗口相关事件的响应函数。下例为设置窗口关闭事件,在窗口关闭时自动调用fun1函数。EQF少儿编程网-https://www.pxcodes.com

01 import tkinter
02  
03 def func1():
04     print("关闭窗口")
05     win.destroy()
06     
07 win = tkinter.Tk()
08 win.geometry("400x400+200+50")
09 win.protocol("WM_DELETE_WINDOW",func1)
10  
11 win.mainloop()

第03行定义事件响应函数fun1。
第04行显示字符串"关闭窗口"。
第05行调用窗口的destroy方法销毁窗口。
第09行设置在窗口关闭时调用自定义函数fun1,即关联事件和响应函数。EQF少儿编程网-https://www.pxcodes.com

课后练习:EQF少儿编程网-https://www.pxcodes.com

练习二:继续完成上题中计算器程序,响应用户按下各个按钮的事件,更新Label显示算式,在用户按下”=”按钮时,计算算式结果。EQF少儿编程网-https://www.pxcodes.com

(提示:Python的eval函数用于执行字符串表达式,例如eval(“1+2”)的结果为3;十二个按钮功能类似,建议先将其中一两个按钮调试正常后,用复制粘贴的方法实现其它按钮,以免在调试过程中反复修改)。EQF少儿编程网-https://www.pxcodes.com

16.5 思维训练

16.5.1 眼中的世界

人们对客观事物比如什么是一、二、三、花、草、树木有着类似的理解,有了这些共识,可以通过语言来沟通;这也让我们误认为,每个人眼中的世界都是相同的。EQF少儿编程网-https://www.pxcodes.com

然而,“一千个读者眼里有一千个哈姆雷特”,不仅是故事,人们对单个文字的理解也不尽相同。对于什么是“爱”,什么是“道德”,这些并非具体可见的事物,由于文化和经历不同,大家的理解也不尽相同,越是不能用语言描述的感觉,差异可能越大。EQF少儿编程网-https://www.pxcodes.com

为什么有些笑话,只有大人才觉得有趣,因为孩子并不知道很多语言的二义性以及背后的引申含义,艺术家激活了大家拥有的共同体验,它们又往往是不可言喻的。引领着读者的思维在具体文字图像和感觉之间跳跃。EQF少儿编程网-https://www.pxcodes.com

语言是一种抽象的符号,是人们交流的工具,却不是现实或思维本身。任何事物或者词汇的意义都取决于它与其它事物的关系,从而形成了脑中复杂的关系网络,而不是简单的字典上的定义。EQF少儿编程网-https://www.pxcodes.com

16.5.2 用语言思考

在表达的过程中,思维本身也在变化,表达过程中可能创造出一些新的想法,这就是“用语言思考”。对于复杂的内容,无法用语言描述它的所有细节,在表达的过程中,必然经过提炼和简化,这也重构了思维状态。因此,有时候向别人提问的过程中,自己就找到了答案。EQF少儿编程网-https://www.pxcodes.com

语言的结构以链式为主,而思维内部一般是网状连接,描述过程是将一团相互纠缠的细网拆解成为一条主链。当一个人用语言的标号代替一套复杂的结构,就可能建立和处理更加复杂的内容。想要利用语言在他人脑中重建自己脑中的思维结构,必须掌握网状和链状结构相互转换的能力,同时还要了解大家头脑中的“共识”。EQF少儿编程网-https://www.pxcodes.com

比如写一部小说或者电影的观后感就是一种总结和梳理,从文章的内容和结构上也能看到写作者的思路和关注点。练习作文或者写程序,不只是掌握语言本身,也是锻炼总结、抽象的能力。这种能力必须通过不断地书写、修改、总结来增强。EQF少儿编程网-https://www.pxcodes.com

虽然很多思维与语言无关,比如触觉、味觉、情绪,不一定能用语言精确地表达出来,但我们仍然常用语言来思考问题,比如常常听到小孩自言自语,成人思考问题,有时也像在脑中独白或者与人对话,这都是语言赋予我们的思考方式。EQF少儿编程网-https://www.pxcodes.com

16.5.3 语言以外的表达方式

语言是一种链式的表达方式,除了简单,它还有利于推导,归因……但是,脑中的结构往往更加复杂,比如下图中的关系,虽然可以用语言描述,但是非常麻烦。除了各个部件之间的关系,描述时还需要考虑如何遣词造句,这就把问题变得更加复杂。EQF少儿编程网-https://www.pxcodes.com

流程图,思维导图,公式,程序,它们不仅与自然语言的语法不同,结构也不同。在不同情况下,可采用不同的表达方式,如果做数学应用题的时候也用画图的方法,换一种角度表达,可能描述本身就是问题的答案。EQF少儿编程网-https://www.pxcodes.com

16.5.4 学习语言

霍金曾说:多写一个公式就会吓跑一半读者,英国一项研究证明:数学公式不但会吓跑普通读者,科学家也会被公式吓跑。这主要由于日常生活中并不经常使用公式。学习语言需要大量时间。自然语言是这样,公式和程序语言也一样,需要反复学习和使用才能记忆。EQF少儿编程网-https://www.pxcodes.com

脑中没有大量的存储空间用于记忆,即使空间足够,从海量信息之中查找也需要大量时间。因此,只有反复使用的内容才能被记住。也只有掌握了语言,才可能利用它思考和解决问题。学任何一门非母语的语言都有很大难度,甚至大多数人对母语掌握得也没有想象中那么好,比如很少有人能驾驭小说、新闻等不同风格的文章写作。EQF少儿编程网-https://www.pxcodes.com

写作的人将脑中的思维框架转换成文字,并试图在读者脑中构建起类似的结构,其中包括着大量的常识和背景知识,比如通过故事发生的时间、地点、氛围、故事风格,激活读者脑中的某种场景,这些都是文字之外的信息。思维中故事的框架是多层次的网络,而机器所识别的文字只是相对扁平的结构。 EQF少儿编程网-https://www.pxcodes.com

通过前几讲的学习可以看到,目前机器学习模仿写武侠小说的能力已经非常强大,而小说的风格明显不适合写新闻。如果想训练机器写所有类型文章,则需要使用非常大量的数据训练模型,让它拥有基本写作能力。然后再根据要生成的不同文章类型,定向训练。机器有海量的存储和算力,但不是每个人都有时间和条件作大规模的训练。EQF少儿编程网-https://www.pxcodes.com

学习自然语言也一样,如果希望读懂新闻,对话,科技论文,就需要非常大量的训练,不如想看论文,就主要读论文,当然,练习“阅读论文”对“对话水平”提高有限。EQF少儿编程网-https://www.pxcodes.com

16.6 小结

16.6.1单词

本讲需要掌握的英文单词如表16.3所示。EQF少儿编程网-https://www.pxcodes.com

16.6.2习题答案

1.练习一:绘制如图16.8所示的计算器界面,其中上方用Label显示输入数值和计算结果,下方提供12个按钮用于输入数字和符号。EQF少儿编程网-https://www.pxcodes.com

2.练习二:继续完成上题中计算器程序,响应用户按下各个按钮的事件,更新Label显示算式,在用户按下”=”按钮时,计算算式结果。EQF少儿编程网-https://www.pxcodes.com

01   import tkinter
02   
03   win=tkinter.Tk()
04   
05   f1=tkinter.Frame(win)
06   f1.pack()
07   f2=tkinter.Frame(win)
08   f2.pack()
09   
10   label=tkinter.Label(f1,text="")
11   label.grid(row=0,column=0)
12   def do_1():
13       y=label['text']
14       x=str(1)
15       s=y+x
16       label.configure(text=s)
17       
18   bt1=tkinter.Button(f2,text='1',command=do_1)
19   bt1.grid(row=1,column=0)
20   def do_2():
21       y=label['text']
22       x=str(2)
23       s=y+x
24       label.configure(text=s)
25   
26   bt1=tkinter.Button(f2,text='2',command=do_2)
27   bt1.grid(row=1,column=1)
28   def do_3():
29       y=label['text']
30       x=str(3)
31       s=y+x
32       label.configure(text=s)
…   # 此处省略其它数字
90   btjia=tkinter.Button(f2,text='+',command=do_jiahao)
92   btjia.grid(row=4,column=1)
93   def do_dengyu():
94       y=label['text']
95       t=str(eval(y))
96       label.configure(text=t)
97       
98   btd=tkinter.Button(f2,text='=',command=do_dengyu)
99   btd.grid(row=4,column=2)
100  def do_jianhao():
101      y=label['text']
102      x=str('-')
103      s=y+x
104      label.configure(text=s)
…    # 此处省略乘除运算
132  win.mainloop()

3.练习三:总结常见错误信息及其原因。EQF少儿编程网-https://www.pxcodes.com

EQF少儿编程网-https://www.pxcodes.com

怎样教12岁的孩子编程?

少儿python编程界面

邹飙骡EQF少儿编程网-https://www.pxcodes.com

python吧,语法简洁易用。
大量的库,可以做界面,也可以做网站。容易培养兴趣。
12岁该是小学高年级或者初中了吧,学编程完全没问题了。学完基本语法,如数据类型、基本语句、流程控制、函数等内容。
喜欢解题的可以看看青少年信息学奥林匹克的东西,主要是数据结构和算法。
喜欢动手做一些实际的东西,可以学学面向对象,做些小软件、小游戏,或者做个什么网站之类的。

Basic相对来说有些过时了,入门一种技术之后,发现是过时的,心理落差会非常大,继续下去的动力也会消失。 EQF少儿编程网-https://www.pxcodes.com

python为什么不象c#一样用可视化界面编程?

少儿python编程界面

伏熹EQF少儿编程网-https://www.pxcodes.com

按说能实现的。EQF少儿编程网-https://www.pxcodes.com

python为什么不象汇编一样用可视化界面编程?EQF少儿编程网-https://www.pxcodes.com

是的,连汇编都可以。(下图来自新浪EasyCode.Ms可视化汇编完美安装版 1.06)EQF少儿编程网-https://www.pxcodes.com

还有,为什么C#非得是可视化编程?EQF少儿编程网-https://www.pxcodes.com

EQF少儿编程网-https://www.pxcodes.com

少儿Python编程_第一讲:计算机系统

少儿python编程界面

倪仇EQF少儿编程网-https://www.pxcodes.com

本次课主要讲解一些计算机和操作系统相关的基础知识。
日常看到的计算机有台式机(左侧)和笔记本电脑(右侧)两种,如图1.1所示:
EQF少儿编程网-https://www.pxcodes.com


计算机需要软件和硬件两部分结合才能正常工作,硬件是由电子、机械、光电元件组成的物理装置,看得见摸得着。软件是有特定功能的数据和指令的集合,软件实现了具体的功能,编写软件就是编程。EQF少儿编程网-https://www.pxcodes.com

1.1 计算机硬件

计算机硬件又可以分为主机和外部设备两部分,主机是图1.1左图中的黑色“机箱”,打开机箱,可以看到:主板、CPU、内存、硬盘、电源等计算机必备的硬件,它们之间通过数据线和插槽连接,如图1.2所示:
EQF少儿编程网-https://www.pxcodes.com

  • 主板:主板被固定在机箱之内,一般是一块矩形的电路板,主板上面有多个插槽,用于连接其它硬件。有的主板还集成了网卡(负责网络传输)、显卡(用于连接显示器)、声卡(用于输出声音)等硬件。主板如图1.3所示:
  • CPU:中央处理器简称CPU,是一块超大规模集成电路,它是计算机运算和控制的核心部件。CPU的处理速度是计算机性能的重要指标之一。它被安装在图1.3的CPU插座中,只有半张扑克牌大小,CPU在工作的时候会产生大量的热,如果不将这些热量及时散发出去,轻则导致死机,重则可能烧毁CPU。一般同时安装CPU散热器(风扇),用于快速将CPU的热量传导出来并吹到附近的空气中去,起到降温的作用。CPU如图1.4所示。

  • 内存:内存也被称为内存储器或主存储器,计算机在运行时,CPU把需要运算的数据调到内存中进行运算,运算完成后CPU再将结果传送出来,内存保证了计算机的稳定运行。
  • 硬盘:硬盘是计算机的主要存储设备,照片、文档及其它各种软件数据都被存储在硬盘上。与内存不同的是,关机后硬盘上的数据依然存在(由于硬盘属于存储介质,也有一些书籍将其归类为外部设备)。


外部设备是主机的扩展,它包括输入设备和输出设备,像:鼠标、键盘、绘图板都属于输入设备,而显示器、打印机属于输出设备,它们通过与主机连接在一起扩展主机的功能。

笔记本电脑将主机和**重要的外部设备集成在一起,占空间更小,一台小小的笔记本即可完成计算机的所有工作,但是性能往往不如台式机高,和同样的配置的计算机相比,价格也较贵。

课后练习:(练习答案见本讲**后的小结部分)

练习一:如果有条件,请小读者在家长的带领下,拆开主机机箱,找到并指出其中的主板、内存、CPU、磁盘;想一想,如果更换内存或者硬盘应该怎么操作;顺便打扫一下机箱内部。EQF少儿编程网-https://www.pxcodes.com

(注意:请小读者在家长的带领下操作,一定要先拔掉电源!!!)EQF少儿编程网-https://www.pxcodes.com

1.2 计算机软件


计算机软件,也称为软件,一般包括程序和数据,程序描述了计算任务的处理对象和处理方法。

软件又分为系统软件和应用软件。智能手机和计算机一样也包括系统软件和应用软件,如OPPO、VIVO、华为手机一般使用安卓系统,而苹果手机一般使用iOS系统软件,也称操作系统。它位于硬件和应用软件之间,如图1.6所示,它向下控制硬件设备(如CPU、内存、蓝牙设备),使它们协调工作,向上支持应用软件和监控维护整个系统的运行(如显示图形界面、切换应用)。应用软件实现具体实用的功能,比如:运行在手机上的微信、游戏、阅读软件等等。不同的系统软件上运行的应用软件也不一样,比如:在苹果手机和华为手机上虽然都能使用微信,功能虽然差不多,但却是使用不同工具编写的不同软件。
EQF少儿编程网-https://www.pxcodes.com


计算机**常用的操作系统是Windows,像Windows 10,Windows 7是Windows的不同版本,此外,还有苹果电脑常用的macOS操作系统、服务器常用的Linux操作系统等等。一般情况下,计算机同一时间只开启一个操作系统,但可以启动多个应用软件,比如一边播放音乐一边玩游戏。EQF少儿编程网-https://www.pxcodes.com

1.3 Windows文件存储

本节将Windows 7作为默认的计算机操作系统,介绍Windows的文件存储。

当输入一段文字或者修改图片后选择保存时,数据文件存储在硬盘上,在关机之后也不会丢失,那么它保存在什么位置,下一次又如何打开它,如何通过微信或者邮件把文件发送给他人呢?

1.文件和文件夹

无论使用哪一种操作系统,都会用到文件和文件夹(也称目录)的概念。文件用于存储具体的数据,比如文字、图片、程序都被保存成文件。文件名一般由两部分组成,例如:“说明书.doc”,其中的“说明书”是主文件名,时给文件命名需要注意:起有意义的名字,养成起名和及时存盘的好习惯,文件名中的“doc”是扩展名,用于区分文件的不同类型。主文件名和扩展名之间用“.”分隔。

文件夹用于管理计算机中的文件,文件夹本身并不存储具体数据,打开Windows桌面上的“计算机”图标,如图1.7所示,其中黄色的小图标代表文件夹,文件夹中又可以包含其它的文件或文件夹。整体成树型结构,左侧为树根,向右侧逐渐展开枝叶,文件分级存储在各个文件夹中。EQF少儿编程网-https://www.pxcodes.com

请读者培养管理文件的好习惯,比如:把同一件工作对应的文件都保存在同一文件夹下,或者把同一类型的数据都保存在同一文件夹下。

2.文件大小

有时手机或计算机会提示存储空间不足,需要删除一些文件,那么到底哪些文件占空间大,删除哪些文件更有效呢?先来看看文件大小的计量单位。

位(bit)是计算机存储数据的**小单位,每一位可以存储一个值:0或者1,一个字节可以存储8位,1KB等于1000字节,1MB(兆)等于1000K,1GB等于1000M。GB就是我们看到广告中常说的“10元10GB国内流量包”中的单位,那么请读者计算一下,10GB等于多少“位”呢?

10GB = 10 x 1000 x 1000 x 1000 x 8 = 80000000000,答案是:800亿位。

一般安装一个软件,需要几MB到几十MB的存储空间,一张普通照片需要几MB存储空间,一段视频可能几十MB,而文字占空间较小,一本几十万字的纯文字书籍只需要占几百KB空间,微信语音聊天每秒1K左右……这样下一次存储空间不足时,读者就可以根据文件的大小选择先删除不需要的大文件了。在计算机的文件上点右键,选择右键菜单中的“属性”选项,可以看到文件所占的空间大小。

3.本地磁盘

上一节中讲到数据保存在硬盘上,一台计算机通过插槽连接一块或者多块硬盘,一块硬盘又可以被分成一个或多个分区,图1.7中,计算机只插入了一块硬盘,且被分成了单个分区:本地磁盘(C:),所有的文件都被存储在C盘之中。

4.我的文档

保存文件时,一般默认保存到“我的文档”文件夹,从图1.7中看到,“库->文档”并不在“本地磁盘”之下,那么它到底存储在硬盘的什么位置呢?在“文档”上点击右键,选择“属性”,结果如图1.8所示,可以看到“我的文档”也存放在C盘上,其在Windows 7中的具体路径是C:Usersadministrator,其中user的意思是用户,administrator意思是管理员,它是这台机器当前登录的用户名。EQF少儿编程网-https://www.pxcodes.com

课后练习:

练习二:如果本月手机套餐流量为100M,请计算大概能传几张相片,语音聊天多长时间。EQF少儿编程网-https://www.pxcodes.com

1.4 思维训练

上面介绍了计算机系统和Windows的文件存储,希望读者在学习之后梳理学习的知识点,以及知识点之间的关系。本节将介绍一些相关的学习方法。EQF少儿编程网-https://www.pxcodes.com

1.4.1 思维导图

思维导图是一种实用的思维工具,它由一个思维中心开始,逐渐向发散。使用思维导图可以将关键词分层,并在关键词之间的建立连接。本节将介绍思维导图的功能及用法,请读者使用它整理和积累所学的知识。

下面举一个简单的例子,假设去超市购物,列出购物清单,建立如图1.9所示的思维导图,把需要购买的商品逐层分类。
EQF少儿编程网-https://www.pxcodes.com


思维导图在纸上就可以绘制,但在纸上画的思维导图需要一开始就安排好内容和位置,在绘制过程中删减内容或者字写得不够工整,都会影响表达的效果或者需要重画。建议用计算机绘制思维导图,上例中的思维导图使用了线上工具爱莫脑图,用浏览器打开网页即可直接使用,无需安装软件。网址是: mindmap.airmore.cn/gues(注意使用右键添加新的元素)。

绘制思维导图时需要注意,不要在一张图中列出太多的内容和细节,思维导图与作文提纲、PPT幻灯片一样,思路比内容更加重要。

课后练习:

练习三:画出计算机系统的思维导图(包含软件和硬件)。EQF少儿编程网-https://www.pxcodes.com

1.4.2 记忆和积累

人的记忆分成长时记忆和短时记忆,长时记忆能记住几天或者几年前发生的事,就像硬盘;而短时记忆只能记住几分钟或者几秒钟内发生的事,短时记忆能存储的内容是非常有限的,就像是内存。因此,需要把每一课所有的内容通过复习存储到长时记忆中去,下一次才有空间存储和思考新的知识。

思维的中断不只来自于外部干扰,比如有人突然来敲门;更多时候来自内部干扰,当我们专注于一件事时,短时记忆中存储的全都是它相关的东西,常称之为环境,突然去查找或者切换到另一事件,就要把之前的重要内容先保存好,换上另一件事,做完后再把旧的环境切换回来,很多细节就丢失了。比如读同一本小说的中文版是休闲娱乐,而读英文版或者文言文要累得多,很难读下去,这都是由于大脑的思维负担过重。

编程语言也是一种语言,就像学英语一样,常用单词一定要背会,否则,后面读文章的时候,对很多单词不记得或者模棱两可,理解起来就会越来越困难,中途查书或者查字典,不停打断思路,就没有办法思考复杂的问题,花的时间也多得多。

所以,请从未接触过计算机编程的读者,尤其是小读者一定要在学习下一讲之前背会本讲相关单词。微信小程序和手机都提供一些背单词用的软件,建议读者使用工具背单词。养成利用工具的习惯,事半功倍。

学习新知识的时候,有人好像一学就会,很“聪明”,而很多情况下“聪明”也能被培养。无论是学习编程还是其它科目,前期基础越差,后期就学得越慢,学习效果也越差,问题成倍增长,看起来就不那么“聪明”了。EQF少儿编程网-https://www.pxcodes.com

1.5 本课小结

1.5.1 单词

本讲需要掌握的单词如表1.1所示:EQF少儿编程网-https://www.pxcodes.com

1.5.2 参考答案

1.练习一:如果有条件,请小读者在家长的带领下,拆开主机机箱,找到并指出其中的主板、内存、CPU、磁盘,看看它们如何连接;想一想,如果更换内存或者硬盘应该怎么操作;顺便打扫一下机箱内部。

小读者可以在家长的指导下拆装内存和硬盘,在拆装的过程中学习使用不同大小的一字和十字螺丝刀,以及拧螺丝时左松右紧的习惯用法。在以后需要更换硬盘或者内存时也可以自己操作。同时也培养一下爱劳动的好习惯。
EQF少儿编程网-https://www.pxcodes.com

2.练习二:画出计算机系统的思维导图。

思维导图主要用于帮助记忆,本题的正确答案不只一个,图1.11为小李同学绘制的思维导图。
EQF少儿编程网-https://www.pxcodes.com


3.练习三:如果本月手机套餐流量为100M,请计算大概能传几张相片,语音聊天多长时间。

如果语音聊天,可聊100000秒,约27.8小时。
如果传5MB一张的相片,可传20张。EQF少儿编程网-https://www.pxcodes.com

EQF少儿编程网-https://www.pxcodes.com

python界面?

少儿python编程界面

薛挖EQF少儿编程网-https://www.pxcodes.com

题主,第二张图是 python idle 界面的截图,如果你有装的话,看看你的应用程序列表里有没有这一项,打开便是:EQF少儿编程网-https://www.pxcodes.com

EQF少儿编程网-https://www.pxcodes.com

少儿Python编程_第十五讲:图像和声音

少儿python编程界面

酆殡EQF少儿编程网-https://www.pxcodes.com

上一讲学习了Python游戏开发的简单方法,并在练习中下载和阅读了几个小游戏的源代码。本讲将自己动手制作游戏,练习编写50行左右的比较复杂的程序,在此过程中将继续学习图形图像相关知识、播放声音,以及运用前面学习的各种数据类型、函数等技术。EQF少儿编程网-https://www.pxcodes.com

15.1 图形图像

15.1.1 原理

早期的计算机和手机都用按键输入,屏幕只能显示文字。后来随着软硬件升级,逐步出现彩色显示器,以窗口界面为主,使用鼠标和触摸屏操作的计算机和手机系统。EQF少儿编程网-https://www.pxcodes.com

现在在屏幕上看到的所有显示都是以图片方式“绘制”出来的。之前讲过软件分为系统软件和应用软件,系统软件的一部分工作是管理当前开启的应用程序(应用软件),并将各个软件的输出“绘制”在屏幕上。因此作为普通开发者,只需要考虑应用软件的输出即可。EQF少儿编程网-https://www.pxcodes.com

上一讲在窗口中绘制图形:窗口是开发者在程序内定义的一个固定大小的区域,绘图位置通过坐标(x,y)指定。EQF少儿编程网-https://www.pxcodes.com

屏幕上显示的画面又分为图形和图像两种,之前学习的绘制矩形、圆形,以及显示文字都属于“图形”,另一种是图像,它可能是拍摄的照片或者用画图软件绘制的卡通人物或风景,在Python程序中从文件读出,并将其内容绘制到某一区域,叫做绘制图像。EQF少儿编程网-https://www.pxcodes.com

15.1.2 图像格式

从绘图的角度看,图像分为两种:带有透明度通道的图片和不带有透明度通道的图片。EQF少儿编程网-https://www.pxcodes.com

如图15.1所示,将两张卡通羊图片绘制在背景图上,左侧不带透明通道,因此将其白色背景也贴了出来,右侧带透明通道,并其将卡通羊的背景置为透明,贴图后的效果更加自然。一般情况下,在绘制背景图片,以及后面不需要透出其它图片时,使用不带透明通道的图片即可。而绘制前景图片,比如游戏中需要移动变化的卡通人物,则使用带透明通道图片。EQF少儿编程网-https://www.pxcodes.com

图像一般存储在图片文件中,通过不同的扩展名区分不同的格式,**常见的图片格式有bmp、jpg和png。bmp是早期的图像存储格式,它直接把图片中每个像素的颜色存储在图片文件中,占空间较大;jpg是**常用的图片存储格式,它用压缩算法将图片内容压缩后存储,占存储空间较小,有时也会损失一些图片的质量,在保存图片时可以设置压缩比例,以便在图片的大小和精度之间达到平衡;png采用无损压缩格式,存储的是带透明通道的图片。EQF少儿编程网-https://www.pxcodes.com

15.1.3 获取图像

图形界面或多或少用到图像,比如:网站的Logo(商标)、软件的欢迎界面、小图标等,游戏为了提升视觉效果会用到更多的图像。EQF少儿编程网-https://www.pxcodes.com

图片可以从网络下载,方法是:打开浏览器,百度图片搜索:images.baidu.com/, 输入想要查找图片的关键字,找到合适的图片后,在图片中点击右键,选择“另存图像为”,即可将网络上的图片下载到自己的电脑上。如图15.2所示:EQF少儿编程网-https://www.pxcodes.com

从网络上下载的图片多数是jpg格式,如果需要透明通道,则要使用绘图软件修改,或者在搜索时指定png格式。EQF少儿编程网-https://www.pxcodes.com

下载网络图片简单快捷,但会涉及图片的版权问题,如果仅用于学习和实验,问题不大。也可以自己用电脑绘制图片,如使用Windows自带的绘图工具:开始->所有程序->附件->画图,绘图后保存成图片文件即可在程序中使用。另外,也可以把手机中的照片文件通过微信传到电脑上使用。常用的绘图工具还有用于修图的PhotoShop,和用于绘图的Illustrator等等。EQF少儿编程网-https://www.pxcodes.com

15.1.4 Python绘图

任何编程语言,操作图片一般都需要三步:读取图片文件、调整图片、显示图片。本例使用游戏开发库pygame操作图片:EQF少儿编程网-https://www.pxcodes.com

第一步,使用pygame.image.load()函数读取图片,它支持主流的图片格式,读取文件后将其转换成pygame的内部图片存储格式。
第二步,使用pygame.transform.scale()函数将图片缩放到指定大小。
第三步,使用画布提供的screen.blit()函数将图片按指定的位置显示在画布(绘图窗口)上。EQF少儿编程网-https://www.pxcodes.com

01 import pygame 
02 
03 WIDTH = 640 
04 HEIGHT = 480 
05 
06 pygame.init() 
07 screen = pygame.display.set_mode((WIDTH, HEIGHT)) 
08 
09 back_img = pygame.image.load('bg.jpg') 
10 background = pygame.transform.scale(back_img, (WIDTH, HEIGHT)) 
11 
12 running = True 
13 while running: 
14 for event in pygame.event.get(): 
15 if event.type == pygame.QUIT: 
16             running = False 
17     screen.blit(background, (0, 0)) 
18     pygame.display.update() 
19 
20 pygame.quit()

第01-07行引入pygame游戏开发模块,初始化,并创建一个宽为640,高为480的窗口。(详见上一讲)
第09行加载当前目录下的图片文件bg.jpg。
第10行将图片缩放成与窗口同样的大小。
第12行设置变量running,用于控制程序主循环。
第13行用while实现程序主循环,当running为True时循环显示,否则退出。
第14-16行接收用户操作,当用户关闭窗口时将running设为False,退出主循环。
第17行用blit方法将背景图片显示在窗口之中(类似于将图像区域复制粘贴到显示区域),显示位置为(0,0)。
第18行更新显示,将内存中的数据显示在屏幕上。
第20行释放pygame资源。EQF少儿编程网-https://www.pxcodes.com

15.2 播放声音

背景音乐和音效也是游戏重要的组成部分,本节介绍播放背景音乐和播放普通音效的方法。EQF少儿编程网-https://www.pxcodes.com

15.2.1 音频格式

与图像一样,声音数据也存储在音频文件中,常见的声音文件有两种格式,常用的扩展名有wav、ogg和mp3。wav也叫波形声音文件,是早期的数字音频格式,占空间较大,不适合较长时间的声音存储,常用于存储长短为几秒钟的音效,例如“叮”的一声响,而mp3是目前比较常用的声音文件存储格式,它使用压缩算法,对音频有一定损失,但相应数据量也较小,便于存储和传输。 EQF少儿编程网-https://www.pxcodes.com

15.2.2 获取声音文件

声音文件也可以从网络下载,或者自己录制。Windows系统中也有很多自带的音效文件,在计算机中搜索扩展名为“.wav”的文件即可查找音效文件,使用时可将其复制到程序能访问的位置。搜索方法如图15.3所示: EQF少儿编程网-https://www.pxcodes.com

15.2.3 Python播放声音

1. 播放背景音乐EQF少儿编程网-https://www.pxcodes.com

播放声音文件,首先需要初始化声音模块,然后加载要播放的声音文件,**后是播放声音,本例中同样使用pygame游戏开发模块中提供的mixer混音子模块实现播放背景音乐。EQF少儿编程网-https://www.pxcodes.com

使用pygame.mixer.init()初始化声音相关模块。
使用pygame.mixer.music.load()加载常见格式的声音文件。
使用pygame.mixer.music.play()播放声音。
使用pygame.mixer.music.set_volume()调节音量。EQF少儿编程网-https://www.pxcodes.com

程序导入模块和主循环与前一例程相同,此处不再重复。在主循环之前加入以下代码即可循环播放当前目录下的背景音乐back.mp3文件。EQF少儿编程网-https://www.pxcodes.com

01 pygame.mixer.init() 
02 back_music = pygame.mixer.music.load('back.mp3') 
03 pygame.mixer.music.set_volume(0.5) 
04 pygame.mixer.music.play(loops=-1)

第01行初始化声音相关模块。
第02行加载当前目录下的声音文件back.mp3,运行程序前请先将要播放的文件复制到当前目录下。
第03行设置音量为**大音量的50%,以防止背景音乐声音过大。
第04行播放已加载的音乐,并使用loops参数设置播放次数,设置为-1时声音循环播放。EQF少儿编程网-https://www.pxcodes.com

2. 播放其它音效EQF少儿编程网-https://www.pxcodes.com

除了背景音乐之外,有时还需要根据用户的操作或者游戏需要偶尔播放一些音效文件,方法如下:EQF少儿编程网-https://www.pxcodes.com

01 dound = pygame.mixer.Sound('warning.wav') 
02 dound.play()

第01行用于加载音效文件。
第02行用于播放音效,默认为播放一次。EQF少儿编程网-https://www.pxcodes.com

需要注意的是:以Sound方式加载的音效文件有一定的格式要求,只能播放简单格式的wav和ogg文件,当格式不符合要求时,程序将报错“Unable to open file”。另外需要注意的是在播放完音效后不能马上结束程序,否则将听不到声音的播放效果。EQF少儿编程网-https://www.pxcodes.com

15.3 综合实例

本节将通过游戏“愤怒的小鸟”,学习游戏常用的程序技术,首先使用git下载源码(git使用方法详见前一讲)。EQF少儿编程网-https://www.pxcodes.com

在git bash中输入以下命令下载“愤怒的小鸟”项目:EQF少儿编程网-https://www.pxcodes.com

$ git clone http://www.github.com/estevaofon/angry-birds-python angry-birds-python

该程序还依赖三方模块pymunk,在Anaconda Prompt中,用以下命令安装:EQF少儿编程网-https://www.pxcodes.com

$ pip3 install pymunk

进入下载后的angry-birds-python目录,可以看到程序包的具体内容,如图15.4所示:EQF少儿编程网-https://www.pxcodes.com

其中src为source code的缩写,意思是源代码;resources译为资源,其中包括游戏用到的图片和音效文件,有时也简写为res;README.md是说明文件,用Windows记事本打开该文件,可以看到其中介绍了该软件依赖的三方模块,以及运行该程序的方法;LICENSE是软件的版本信息。请读者自行进入每个目录,通过文件名和文件扩展名了解它们的用途。EQF少儿编程网-https://www.pxcodes.com

之前讲解的例程中,为了方便调用,资源文件、代码文件以及说明文件常存储在同一个目录下面,而当程序中有多个代码文件和资源文件时,目录内容将变得非常混乱,建议读者在之后的项目中利用目录更好地分类和管理文件。EQF少儿编程网-https://www.pxcodes.com

从Readme.md文件中可以看到,程序的入口(主要程序)是main.py,绝大多数项目的主程序名都为main.py,这也是约定俗成的命名习惯。请读者在Spyder或者Jupyter中打开main.py,并运行该游戏,了解“愤怒的小鸟”的游戏规则。EQF少儿编程网-https://www.pxcodes.com

请读者在main.py中找到主循环、用户事件处理、以及绘图的相应代码,上一讲学习了对键盘事件的处理,本讲请读者自学对鼠标事件的处理(提示:鼠标关键字“MOUSE”)。EQF少儿编程网-https://www.pxcodes.com

通过玩游戏可以了解:本游戏除了包含图片和声音之外,主要的难点在于物体的碰撞效果,碰撞效果使用pymunk三方库实现。它是一个物理计算引擎,很多游戏的运动效果都借助该库实现。EQF少儿编程网-https://www.pxcodes.com

课后练习:(练习答案见本讲**后的小结部分)EQF少儿编程网-https://www.pxcodes.com

练习一:实现简单版愤怒的小鸟,具体要求如下:EQF少儿编程网-https://www.pxcodes.com

  1. 游戏目标:接收用户鼠标事件,根据鼠标按下时长决定投掷小鸟的远近。当小鸟打中猪时,游戏结束。
  2. 前景和背景用图片显示,至少两个前景物体:小鸟和猪。
  3. 带背景音乐和用户操作音效,用户点击鼠标时播放音效。
  4. 提示:参考以下代码06-09行计算抛物线的轨迹:
01 import math as m # 引入数学函数库 
02 import matplotlib.pyplot as plt 
03 %matplotlib inline 
04 
05 # v是力度取值(100-1000), a是角度取值(0.1-2), width为窗口宽度 
06 def calc(a,v,width): 
07     arr = [m.floor(0.5+x*m.tan(a)-x*x/(v*m.cos(a))) for x in range(width)] 
08     arr = [i for i in arr if i >= 0] 
09 return arr 
10 
11 arr = calc(1.3,800,640) 
12 plt.plot(arr) 
13 arr = calc(0.5,800,640) 
14 plt.plot(arr)

程序运行结果如图15.5所示:
EQF少儿编程网-https://www.pxcodes.com

本讲内容不多,但是练习的难度较大,对于完全没有编程经验的读者,是一个巨大的考验。编写程序的**终目标是实现完整功能,而不是照猫画虎地做秀,增加难度也是必经的过程。EQF少儿编程网-https://www.pxcodes.com

15.4 思维训练

15.4.1 解决复杂问题

本讲中的习题,不像之前的练习,照猫画虎就能完成,需要把学到的知识打散,再组合。小李同学在放假时做了四遍:第一天两遍、第二天一遍、第三天一遍,每做一遍之后,把源码删掉,再重新写。EQF少儿编程网-https://www.pxcodes.com

一开始做的时候问题不断,以她三年级的英语水平,报错基本都看不懂。在常量、变量、坐标系、列表、表达式,判断和循环的缩进中,暴露出了很多前期学得不扎实的知识点。但随着不断地重复,提出的问题也越来越少。EQF少儿编程网-https://www.pxcodes.com

**后她说她都把这五十多行代码背下来了,让她背了一遍,流程基本都对。有点像多年前流行背《新概念》英语中的例文。EQF少儿编程网-https://www.pxcodes.com

下面分享一下解题思路:EQF少儿编程网-https://www.pxcodes.com

第一步:拆分问题——把一个大问题拆分成几个小问题。EQF少儿编程网-https://www.pxcodes.com

小李把问题分解为:1接收鼠标事件、2打到猪退出程序、3显示图像、4点鼠标播放音效、5根据鼠标时长确定小鸟的飞行距离。在这一步,小朋友切分的粒度不够完美,比如应该把小鸟按抛物线运动单列出来。但框架基本正确。EQF少儿编程网-https://www.pxcodes.com

第二步:确定依赖关系,排列解决“小问题”的顺序。EQF少儿编程网-https://www.pxcodes.com

由于问题之间存在前后的依赖关系,同时还需要考虑难易程度,顺序排列为:3->4->1->5->2。EQF少儿编程网-https://www.pxcodes.com

第三步:按步骤解决“小问题”。EQF少儿编程网-https://www.pxcodes.com

新手程序员常犯的错误是:把所有想到的功能都加上,然后再开始调试。可一旦遇到问题,就很难定位问题出在哪儿。建议每做完一步,调试通过后再做下一步。EQF少儿编程网-https://www.pxcodes.com

对小朋友来说,每解决一个小问题,都是一次小小的成功,这个过程也是不断地肯定自己的过程。在**后一遍练习中,她开始大量使用print语句打印状态信息。基本跳出了瞎蒙的状态。EQF少儿编程网-https://www.pxcodes.com

15.4.2 统筹规划

统筹规划是运用统筹兼顾的基本思想,对错综复杂、种类繁多的工作进行统一筹划,合理安排的方法。对于解决复杂的问题尤为重要。EQF少儿编程网-https://www.pxcodes.com

1.层进式优化EQF少儿编程网-https://www.pxcodes.com

在刚开始学习画画时,老师要求,先确定构图,然后画线稿;铺调子;再一遍一遍逐渐深入印画。EQF少儿编程网-https://www.pxcodes.com

这种方法在软件工程中叫作螺旋模型,它不追求一次到位,而是把整个过程从时间分为多个阶段,每个阶段都包含:计划、执行、检查。 它有以下优点: EQF少儿编程网-https://www.pxcodes.com

  • 如果工程中断,也保留了阶段性的成果,基本可用。
  • 当遇到一些关键错误,能及时发现和调整。
  • 时间规划合理,不会为一些细节的不完美影响大局。
  • 以整体为出发点,不会出太大问题,能更好把握时间和进度。
  • 虽然不要求一次做到**好,但随着工作的深入和进一步的理解,也能把握细节。

一位娴熟的画师从任何一点起笔都能完成一幅作品,因为整个过程都在他的脑中;但是对于摸着石头过河的初学者,仍需要一些步骤和方法。EQF少儿编程网-https://www.pxcodes.com

小朋友常见的问题是:做作业时很可能因为对其中一项内容的精益求精,花掉了大多数时间,发现时间不够之后,其它作业就只能草草了事。导致整体水平偏低。自己也很委屈:“我认真难道还错了吗?”。这种问题只需要在安排上做一些微调就能解决。EQF少儿编程网-https://www.pxcodes.com

2.计划EQF少儿编程网-https://www.pxcodes.com

首先是切分问题,不只是切分工作量,切分步骤,还有切分时间。根据不同情况有不同的选择,需要兼顾各种条件。EQF少儿编程网-https://www.pxcodes.com

切分之后,需要排列优先级,有人选择先做简单的,有的先做难的。更细化地可以分成:难度优先级,步骤依赖关系的优先级,重要性优先级,时间优先级……有时候把问题列出来之后,结果就显而易见了。 EQF少儿编程网-https://www.pxcodes.com

当事情太多,可能做不完时,“重要性”是判断标准,需要把不重要的往后排,或者去掉一些不重要的安排。也可以从另一个角度考虑,是一个做完再做一个,还是先把每件事做成60分水平,有时间再进一步优化。EQF少儿编程网-https://www.pxcodes.com

当问题足够复杂,步骤很多时,还需要列出步骤清单。EQF少儿编程网-https://www.pxcodes.com

3.实施EQF少儿编程网-https://www.pxcodes.com

实施就是照着计划做,也叫做执行力,在几个步骤之中好像**为简单,实际对于一个长期或者有难度的计划,成年人也很难做到,比如能减肥成功又保持十年内不反弹的人少之又少。计划是否能正常实施很大程度上取决于计划的难度和合理性。EQF少儿编程网-https://www.pxcodes.com

当然,也与人的意志力自控力强弱有关。EQF少儿编程网-https://www.pxcodes.com

4.设置检查点EQF少儿编程网-https://www.pxcodes.com

想都不想就去做的反面是想得多做得少:我是否找到了**佳方向?坚持努力有没有意义?这个问题在成年人身上更加明显,往往在纠结中浪费了大量的时间和精力。很多时候,如果不深入到一定程度,就无法判断**终结果。EQF少儿编程网-https://www.pxcodes.com

层进式工作,并且在过程中设置检查点,可以有效地解决这一问题,即使出现方向性问题也能及时止损。EQF少儿编程网-https://www.pxcodes.com

有时候我们已经习惯听话,只要是老师说的,领导说的,都必须照做,而缺乏对整体的规划和对解决方案思考。在时间和能力条件都有限的情况下,有时候即使做了,效果也不好。如果总是指哪儿打哪儿,判断力从何而来?任何行业,**重要的都是提出问题和提出方案的人,而**没技术含量的是那些不用思考和判断的简单工作。EQF少儿编程网-https://www.pxcodes.com

规划力是一种基础能力:规划、评价、按计划实现的能力。训练得越早,越能应用到其它领域,变成习惯的思维方式。画画、书法、弹琴、运动、学习都能用到,为什么一个小朋友钢琴五级需要学习三五年时间,而有些成年人花一年就可以练到同样程度?这些能力都是在成长过程中慢慢累计而成的。EQF少儿编程网-https://www.pxcodes.com

规划力可以通过编程训练,通过其它日常活动也能锻炼,比如做一顿饭,设计搭配,规划时间,其中的顺序。采买各种食材,找菜谱,在做的过程中发现和补救……EQF少儿编程网-https://www.pxcodes.com

需要注意的是:整件事需要足够复杂,过程中也需要不断思考和判断,此过程也需要根据年龄由浅入深,给孩子足够的空间,也允许他们在过程中犯错。EQF少儿编程网-https://www.pxcodes.com

15.5 小结

15.5.1 单词

本讲需要掌握的英文单词如表15.1所示。EQF少儿编程网-https://www.pxcodes.com

15.5.2 习题答案

  1. 练习一:实现简单版愤怒的小鸟。
01 import pygame 
02 import time 
03 import math as m
04 
05 def calc(a,v,width): 
06     arr=[m.floor(0.5+x*m.tan(a)-x*x/(v*m.cos(a)))for x in range(width)] 
07     arr=[i for i in arr if i >= 0] 
08 return arr 
09 
10 arr=calc(1,800,640) 
11 
12 x=0 
13 y=0 
14 
15 WIDTH=649 
16 HEIGHT=480 
17 s=50 
18 pygame.init() 
19 screen=pygame.display.set_mode((WIDTH,HEIGHT)) 
20 
21 bg_img=pygame.image.load('bg.jpg') 
22 bg=pygame.transform.scale(bg_img,(WIDTH,HEIGHT)) 
23 zhu_img=pygame.image.load('pig.png') 
24 zhu=pygame.transform.scale(zhu_img,(s,s)) 
25 niao_img=pygame.image.load('bird.png') 
26 niao=pygame.transform.scale(niao_img,(s,s)) 
27 
28 pygame.mixer.init() 
29 back_music=pygame.mixer.music.load('bg.ogg') 
30 pygame.mixer.music.set_volume(0.6) 
31 pygame.mixer.music.play(loops=-1) 
32 
33 running=True 
34 while running: 
35     for event in pygame.event.get(): 
36         if event.type==pygame.QUIT: 
37             running=False 
38         if event.type == pygame.MOUSEBUTTONDOWN: 
39             b=time.time() 
40         if event.type == pygame.MOUSEBUTTONUP: 
41             a=time.time() 
42             i=a-b 
43             dound=pygame.mixer.Sound('warning.wav') 
44             dound.play() 
45             arr=calc(1,i*500,640) 
46             x=0 
47     if x>580 and x<640 and y>400 and y<470: 
48         running=False 
49
50     if x<len(arr)-1: 
51         x=x+1 
52         y=arr[x] 
53         y=HEIGHT-y 
54     screen.blit(bg,(0,0)) 
55     screen.blit(zhu,(580,400)) 
56     screen.blit(niao,(x,y)) 
57     pygame.display.update() 
58 
59 pygame.quit()
EQF少儿编程网-https://www.pxcodes.com

少儿Python编程_第二讲:开发环境

少儿python编程界面

葛捂燕EQF少儿编程网-https://www.pxcodes.com

在开始编写程序之前,首先要搭建开发环境。Python是一种跨平台的编程语言,它可以在Window、Linux、MacOS等操作系统上运行,为简化操作,本书以Windows系统作为开发平台,以Anaconda套件作为开发工具。EQF少儿编程网-https://www.pxcodes.com

2.1 Python语言

在讨论如何选择编程语言之前,先看看什么是编程。现在很多工作都离不开计算机,比如:使用各种办公软件,做图,编辑视频,开发网站,微信和手机应用,统计分析,机器人,人工智能……应该学习什么?对于非专业人员,针对青少年的知识和能力,能学什么?EQF少儿编程网-https://www.pxcodes.com

希望本次学习的成果能在后续的学习和工作中发挥作用,那么就需要学习“编写真正的程序”,而不仅仅是展示某种“有趣的成果”。EQF少儿编程网-https://www.pxcodes.com

图书馆里有很多十几年前的计算机工具书籍都已经不再使用,IT行业日新月异,即使今天学习了一门**流行的编程语言,等十几年后,可能也已经过时了。EQF少儿编程网-https://www.pxcodes.com

因此,**好能学习一门相对简单的编程语言,不要把时间都花在语言的细节和技巧上,Python语言就非常合适,它可烦可简。Python入门简单,从8岁到80岁都可以学习;同时功能强大,在人工智能领域,它几乎是使用率**高的编程语言。小学生和博士生都在使用。利用这门简单的语言,编程者可以把更多的精力放在目标和流程上,像搭建积木一样,Python语言和它强大的三方库负责解决具体问题。EQF少儿编程网-https://www.pxcodes.com

2.2 安装软件

无论是否编写程序,安装软件都是使用计算机的必备技能之一。本节将通过安装Python开发环境,向读者介绍从网上下载、安装和使用软件的步骤和方法。EQF少儿编程网-https://www.pxcodes.com

2.2.1 Anaconda开发环境

Python可在多个操作系统中运行,也有多种安装方法,本书将Windows系统作为基础系统,使用Anaconda套件作为开发环境,Anaconda是一个免费开源的Python发行版本,支持多个操作系统,除了基本的Python环境,它还包括科学、工程、绘图等多种Python三方库,以及Spyder和Jupyter等Python编辑器。非常适合初学者使用,省去了后续装库的麻烦。EQF少儿编程网-https://www.pxcodes.com

一般下载软件的方法是:用浏览器打开“百度”搜索软件相关的关键字,如图2.1所示: EQF少儿编程网-https://www.pxcodes.com

图2.1中搜索出的第一项即Anacoda的主页,点击它进入下载界面:anaconda.com/distributi,如图2.2所示:EQF少儿编程网-https://www.pxcodes.com

可以看到下载页提供了Windows、macOS、Linux三个平台对应的软件,这里选择Windows平台的Python 3.7版本,其中包括32位和64位两种软件版本,需要根据自己计算机的情况下载不同版本,在计算机的桌面上右键点击“计算机”,选“属性”,即可从系统类型中查看计算机是32位系统还是64位系统。在浏览器中点击对应版本,下载完成后即可安装。EQF少儿编程网-https://www.pxcodes.com

注意:Anaconda是英文软件,在下载和安装的过程中,低年龄儿童可能遇到大量生词,建议家长先帮助孩子下载“金山词霸”或其它翻译软件,以克服语言障碍,或者在家长的帮助下完成第一次软件安装。EQF少儿编程网-https://www.pxcodes.com

2.2.2 安装软件

下载Anaconda后安装步骤如图2.3所示,按提示点击下一步(Next),同意(I Agree),安装(Install),完成(Finish)即可。 EQF少儿编程网-https://www.pxcodes.com

安装完成之后,在开始菜单->所有程序->Anaconda3文件夹下可以看到Python相关的应用程序,如图2.4所示:EQF少儿编程网-https://www.pxcodes.com

其中Anaconda Navigator是导航工具,使用它可以操作Anaconda安装的软件;Anaconda Powershell Prompt和Anaconda Prompt是命令行模式,可以在此处管理和安装Python软件;Spyder和Jupyter Notebook是程序编辑器,后续将使用它们编写Python程序,后续章节将具体介绍。EQF少儿编程网-https://www.pxcodes.com

2.2.3 卸载软件

与安装软件对应的是从系统中删除软件,即卸载软件。具体方法是:点击桌面上的“计算机”图标,选择其窗口上方的“打开控制面板”->程序->卸载程序,即可打开“程序和功能界面”,如图2.5所示,从列表中选择要更改或者卸载的应用程序。 EQF少儿编程网-https://www.pxcodes.com

课后练习:(练习答案见本讲**后的小结部分)EQF少儿编程网-https://www.pxcodes.com

练习一:安装软件Firefox浏览器。 EQF少儿编程网-https://www.pxcodes.com

2.3 使用Python开发环境

可用于Python开发的环境非常多,本节将讲解其中**常用的几种环境。EQF少儿编程网-https://www.pxcodes.com

2.3.1 Python命令行

首先,打开命令行界面:开始菜单->所有程序->Anaconda->Anaconda Prompt。并输入“python”,进入Python命令行模式,如图2.6所示。 EQF少儿编程网-https://www.pxcodes.com

看到提示符“>>>”,可输入python命令EQF少儿编程网-https://www.pxcodes.com

 01 print("aaaa")

print用于显示输出,回车后该程序被运行,显示“aaaa”,之后使用exit()退出Python命令行模式。EQF少儿编程网-https://www.pxcodes.com

2.3.2 IPython命令行

IPython命令行是Python命令行的加强版,它的使用方法是先打开命令行界面:开始菜单->所有程序->Anaconda->Anaconda Prompt。然后输入ipython进入交互命令行模式。如图2.7所示。EQF少儿编程网-https://www.pxcodes.com

可以看到,IPython的提示符与Python不同,它用颜色标出了不同类型的程序和数据,在输入命令的过程中,可以通过按“Tab”键补全命令,还支持按“上”键,调出以往输入的命令。相对于Python命令行方便很多。EQF少儿编程网-https://www.pxcodes.com

2.3.3 Spyder

Spyder是Python作者开发的一个简单的Python集成开发环境,开发者可以在Spyder中编写和运行程序。EQF少儿编程网-https://www.pxcodes.com

首先,打开Spyder程序:开始菜单->所有程序->Anaconda->Spyder,打开的Spyder界面如图2.8所示: EQF少儿编程网-https://www.pxcodes.com

Spyder界面主要包含三部分,左边是程序编辑区,开发者在左侧编写程序;右侧上部是对象变量文件浏览区,右侧下部是命令窗口区,它提供ipython的交互界面,开发者在此处以交互模式输入Python代码,此处同时显示左侧程序运行结果。EQF少儿编程网-https://www.pxcodes.com

下面来编写第一个Python程序,在左侧区域加入代码:EQF少儿编程网-https://www.pxcodes.com

 01 print("aaa")

输入代码后,点击上方快捷菜单中的绿色箭头运行这段程序,在右下的交互界面中显示了程序的运行结果“aaa”。EQF少儿编程网-https://www.pxcodes.com

2.3.4 Jupyter Notebook

Jupyter Notebook开始叫IPython Notebook,它是一个交互式的编程界面,初期只支持Python,后来逐渐发展,现已支持四十多种编程语言。EQF少儿编程网-https://www.pxcodes.com

Jupyter在后台开启服务,开发者通过浏览器与服务连接,可在浏览器中编写程序和查看运行结果。它的优点是可以在某一台机器上安装Python环境,而在同一网络的任意一台机器上都可以通过IP地址和端口连接该环境,编写Python程序,而无需在每一台开发机器上安装Python环境。EQF少儿编程网-https://www.pxcodes.com

相对其它编程工具,Jupyter Notebook界面看起来简洁大方,且启动速度快。其中间的主要区域用于编写程序,运行结果显示在程序下方。本教程中后续的例程都使用Jupyter Notebook编写。EQF少儿编程网-https://www.pxcodes.com

Jupyter Notebook与其它Python程序开发软件不同的是,一般Python程序扩展名为“.py”,而Notebook中Python程序默认的格式是“.ipynb”。这种格式不只支持python代码,还能加入格式丰富的文字、图片、以及记录程序运行结果。同时它也支持导出纯代码格式的“.py”文件。EQF少儿编程网-https://www.pxcodes.com

需要注意的是:有些浏览器不支持Jupyter Notebook,建议使用Firefox浏览器开发,并将Firefox设置成默认浏览器。EQF少儿编程网-https://www.pxcodes.com

打开Jupyter Notebook程序:开始菜单->所有程序->Anaconda->Jupyter Notebook,此时跳出后台服务框的同时,默认浏览器也被开启。Jupyter有两种界面,一种是列表界面,一种是程序编辑界面。列表界面如图2.9所示。 EQF少儿编程网-https://www.pxcodes.com

浏览器中显示了文件目录列表,第一次使用时可以用右上边的Upload上传代码文件,或者使用New->Python 3创建程序文件,本例中创建了一个Python程序,程序编辑界面如图2.10所示。EQF少儿编程网-https://www.pxcodes.com

编程界面上菜单支持的功能很多,不能一一列举。几个**常用的功能在图2.10中用绿色字符标出。EQF少儿编程网-https://www.pxcodes.com

一般编程工具都有颜色提示,比如在Jupyter Notebook中Python提供的关键字(像while, import)用绿色,符号为粉色,字符串为红色,通过颜色可识别打字引起的错误。当光标停在一个括号上时,括号的另一半颜色也随之改变,这样可以查看括号是否成对出现。Jupyter还支持代码自动补全功能,按Tab键即可使用。EQF少儿编程网-https://www.pxcodes.com

图2.10中的每个灰色方格都是Cell单元,它是Notebook中的基本元素。通过Insert菜单可添加新的单元。单元分为两种:Markdown单元(标记语言)和代码单元。EQF少儿编程网-https://www.pxcodes.com

Markdown单元:一般用于编写注释和说明信息,文本格式、插入链接、图片甚至数学公式等数据,一般使用Markdown 的语法编写,纯文本也可正常显示。 EQF少儿编程网-https://www.pxcodes.com

代码单元:代码单元左边有“In [ ]:”的序列标记,方便查看代码的执行次序。其运行结果显示在该单元下方。EQF少儿编程网-https://www.pxcodes.com

单元有编辑模式和命令模式,命令模式时单元左侧显示蓝线,编辑模式时左侧显示绿线。按Enter键切换到编辑模式,按Esc键切换到命令模式。编辑模式一般用于修改单元内容,命令模式用于对整个单元进行操作,如添加单元、删除单元等,比如用Shift+L快捷键控制是否显示行号,用Shift+Enter执行当前单元中的代码。EQF少儿编程网-https://www.pxcodes.com


课后练习:EQF少儿编程网-https://www.pxcodes.com

练习二:用Jupyter编写程序,显示字符串“aaaa”。EQF少儿编程网-https://www.pxcodes.com

2.4 思维训练

我们常说“学完之后,都还给老师了”。这也是学习中**常见的问题:当时的确学会了,过一段时间记得好像学过,却忘记了具体内容。它可能受到以下几种因素影响:EQF少儿编程网-https://www.pxcodes.com

理论脱离实际EQF少儿编程网-https://www.pxcodes.com

大学理工科都需要学微积分,同学说“这有什么用?我买菜还积个分吗?”的确后来很少有人在生活中用到高等数学。越是抽象,离生活越远,越难理解,更难被记住。原因可能是难度大,也可能因为使用得太少了。EQF少儿编程网-https://www.pxcodes.com

学习编程也是一样,很多课程中,老师搭建好环境,学生主要在编程工具中操作,学习偏重于基础和理论,可以拿它“玩”、“做展示”,却没有渗透进日常生活之中。开发程序是一项综合技能,涉及查资料、安装软件、制作图片、编写界面,配置环境,分析数据,调试程序,以及将结果呈现给他人,以及综合使用知识的能力,后面课程也会逐步讲解。EQF少儿编程网-https://www.pxcodes.com

本讲中的安装软件、查资料等技能在日常生活中也很常用,比如养成用手机或者电脑查资料的习惯:游泳、养鱼、做饭都可以在网上学习,天天使用想忘记都很困难。EQF少儿编程网-https://www.pxcodes.com

读者在学习的过程中一定要边学边用,无论是配置环境的例程还是程序例程都要跟着做一遍,并且尽量使用它解决生活中的问题。EQF少儿编程网-https://www.pxcodes.com

复习EQF少儿编程网-https://www.pxcodes.com

日常生活中可能遇到非常多的知识和技能,全记住需要大量的存储空间,查找也将非常耗时。大脑一般会记住那些重要的,而忽略不太重要的。EQF少儿编程网-https://www.pxcodes.com

在学习时,知识进入了短时记忆,可以存储几分钟到几天的时间,而只有少部分短时记忆被转存在长时记忆之中,这部分通常是反复使用的。对于日常能用到的知识和技能,每用一次都会加深印象。还有一些,比如背单词,没有可用的语言环境反复训练,就需要利用复习的方法反复刺激,才能形成长时记忆。EQF少儿编程网-https://www.pxcodes.com

提炼EQF少儿编程网-https://www.pxcodes.com

提炼又可以分成简化、归纳、总结规律等等。EQF少儿编程网-https://www.pxcodes.com

  • 简化
    简化问题是把重要部分从千头万绪中清理出来。比如读文章时,不可能记住每一个字;学习相对复杂内容和新内容时,读完之后大脑往往一片空白。建议一边看一边划重点,并总结每一段的大意。阅读文章时需要划重点,做数学应用题时也一样,概括之后脑中记忆的都是关键点,查找起来更加迅速,同时也保留了大量空间用于联想和思考。
  • 归纳
    经过层层简化后,梳理关键点之间的关系,形成树型或网状的知识结构,这也是总结和建构知识体系的过程。大段的文字如果被整理成1.2.3,(1)(2)(3)带顺序和层次的简化版本,往往更容易被记忆以及联想。
    就像整理衣橱一样,把知识放到适当的位置,再打上标签,之后使用时就能方便地找到。同时也与类似的问题建立连接,与已有知识建立连接,使新知识更容易被联想,提供多种方式被调出。
  • 找规律
    在解决复杂问题时,难免“卡壳”,解决了问题之后,需要反思,在会与不会之间,到底被“卡”在了哪个点。然后总结规律,并将规律用在其它的问题之中。只有会用才是真的学会了。

有时候我们把学习当成打卡,做完就完,多一眼都不看。实际上我们的角色不仅是学习者,同时也是检查员。一个人做两个人的工作也有难度,也需要用一段时间培养习惯。因此,从本讲开始,每一课都请读者总结本讲学习的内容,并列举其用途。EQF少儿编程网-https://www.pxcodes.com

课后练习:EQF少儿编程网-https://www.pxcodes.com

练习三:总结本讲学习的内容,并列举三种用途。EQF少儿编程网-https://www.pxcodes.com

2.5 本课小结

本课的学习重点除了熟悉Windows操作系统,安装软件之外,还包括学习使用浏览器搜索,学习这项技能后,如果遇到无法解决的问题,可以通过百度搜索在网上寻找答案。EQF少儿编程网-https://www.pxcodes.com

2.5.1 单词

对于小读者来说,在下载安装软件时遇到的**大问题是:不熟悉计算机操作相关的英文单词及它们在计算机领域的意思,**好能在学习过程中背下来,本讲需要掌握的英文单词如表2.1所示。 EQF少儿编程网-https://www.pxcodes.com

2.5.2 习题答案

1. 练习一:安装软件Firefox浏览器。 EQF少儿编程网-https://www.pxcodes.com

  • 第一步、查看本机是否已安装Firefox浏览器:点击桌面上的“计算机”图标,选择其窗口上方的“打开控制面板”->程序->卸载程序,即可打开“程序和功能界面”,查看是否有名为“Firefox的程序”,如果已经存在,则不需要安装。如果想尝试安装过程,可以先卸载再安装。
  • 第二步、用浏览器打开百度:www.baidu.com
  • 第三步、在输入框中输入关键字:“Firefox 下载”,注意:把需要搜索的内容切分成词,词间用空格分隔;点击右侧的“百度一下”开始搜索。
  • 第四步:点击搜索返回的网址列表,在网页中点击其中的“下载Firefox”,并在文件下载框中点选择“运行”。
  • 第五步:按提示安装,直到FireFox浏览器安装成功并正常启动。

2. 练习二:用Jupyter编写程序,显示字符串“aaaa”。EQF少儿编程网-https://www.pxcodes.com

3. 练习三:总结本讲学习的内容,并列举三种用途。 EQF少儿编程网-https://www.pxcodes.com

本题答案比较灵活,主要目标是养成梳理问题的习惯,只有包括主要元素,怎么组织都可以。下图为小李同学用xmind绘制的思维导图,笔者认为安装部分过于细化,但为保留小李同学作业的完整性,未做修改。
EQF少儿编程网-https://www.pxcodes.com



EQF少儿编程网-https://www.pxcodes.com

EQF少儿编程网-https://www.pxcodes.com

如何用Python给已有小程序做界面?

少儿python编程界面

和芡EQF少儿编程网-https://www.pxcodes.com

我尝试过很多次用 Python 进行 GUI 编程,就是你说的做界面。**后的结果就是,人生苦短,做 GUI 我不用 Python(也有可能我是被微软给宠坏了:)EQF少儿编程网-https://www.pxcodes.com

但是你说的这种,很简单的界面,使用 Python 默认的 GUI 库 TkInter 就可以了。EQF少儿编程网-https://www.pxcodes.com

除了 TkInter 库,接触过 VB, C# WinForm 那种拖控件的 GUI 编程方式的,或者需要写非常复杂的界面的,推荐一个 wxWidget + wxFormBuilder。之前使用过,还是挺好上手的。EQF少儿编程网-https://www.pxcodes.com

如果会 QT 的,QT 也有 Python 版本:Qt for Python - Qt for Python EQF少儿编程网-https://www.pxcodes.com

**后还有一种曲线救国的方式,就是用 PyGame: pygame.org/news 拿人家做游戏的做 GUI 界面,啊哈哈哈哈……EQF少儿编程网-https://www.pxcodes.com

另外你说的,将结果输出文件写入到 EXCEL 中,需要通过 com 去操作 EXCEL 的话,感觉很麻烦,我一般是直接输出为 CSV 格式 然后用 EXCEL 打开。至于什么是 CSV 格式文件:CSV(逗号分隔值文件格式)_百度百科EQF少儿编程网-https://www.pxcodes.com

EQF少儿编程网-https://www.pxcodes.com

版权声明:标题:少儿python编程界面,地址:https://www.pxcodes.com/baike/1614092553144880.html 为少儿编程网编辑整理发布,转载请注明出处!如部分段落侵犯您的权益,请联系我们处理,谢谢!【2021-02-23 23:02:33】

编程 界面