可以在编程空间自己练一下。
为了迎接“618”,人民邮电出版社联合“天猫”“京东”“当当”等图书销售商和“抖音”“快手”“头条”“知乎”“微博”等视频、社交平台,开展了盛大的“人邮大咖讲书节”活动。活动将邀请近百名知名作者,通过视频直播的方式,现场给读者和粉丝推介自己的图书。
在6月16日的“科技新知”专场中,李强老师将通过直播和读者、粉丝见面。李老师将从“孩子选什么语言学编程”的角度,给大家一些建议,并且介绍自己编写Scratch 3.0和Python入门图书的思路,以及相关图书的特点、阅读和学习建议等。

6月16日,17:56-18:06,李老师等你来!
“科技新知”专场可谓众星云集,汇集了人邮社众多的科技大咖作者。对IT相关图书感兴趣的读者,机会不容错过!
李强老师简介

计算机图书的作家,从2002年开始涉足计算机网络授课。目前专注于青少年计算机领域的教学,先后编著了《Scratch 3.0 少儿游戏趣味编程》《Scratch 3.0少儿编程趣味课》《Python少儿趣味编程》《Scratch 3.0 少儿游戏趣味编程2》等畅销书,配套的教学视频也深受读者的喜爱,曾荣获人民邮电出版社“2019年最具影响力作者”称号。
在Python《外星人入侵》游戏<六>中,我们已经成功的在屏幕上创建了外星人群。但目前,都只是静态的展示,并没有动起来。
这一次,我们要实现的功能是,让外星人群左右和向下移动。
首先让外星人群向右移动,当碰到右边屏幕边缘的时候,向下移动一定距离,然后再向左移动,碰到左边屏幕边缘的时候,向下移动一定距离,再向相反方向移动。重复这个过程,直到所有外星人被消灭,或者有外星人碰到了飞船,或者是触碰到了屏幕的底部边缘。
向右移动外星人群
首先在settings.py中添加一个控制外星人速度的设置。
class Settings: def __init__(self): """窗口的宽高,背景颜色""" ...... """外星人速度的设置""" self.alien_speed_factor = 1
在alien.py中创建一个update()函数,来更新外星人的位置。
"""更新外星人的位置""" def update(self): """向右移动外星人""" self.x += self.ai_settings.alien_speed_factor self.rect.x = self.x
每次更新外星人的位置,都是将外星人向右移动,每次外星人移动的量都是ai_settings.alien_speed_factor的值。
不过每次都是使用self.x来记录每个外星人的准确位置,因为这个属性是可以存储小数值的。
最后使用self.x的值来更新外星人的rect的位置。
在game_functions.py中定义函数update_aliens(aliens),用来更新外星人群中每个外星人的位置。
"""更新外星人的位置""" def update_aliens(aliens): """更新外星人群中所有外星人的位置""" aliens.update()
这里是对编组aliens调用update()方法,将会自动对编组中的每个外星人调用update()方法。
最后我们需要在alien_invasion.py的while循环中调用update_aliens()。
"""游戏循环体""" while True: ..... """更新外星人群的位置""" gf.update_aliens(aliens)

判断外星人是否撞到了屏幕边缘
现在我们发现,外星人向右移动的时候,是可以穿过屏幕的右边缘的。
我们需要设置下,当外星人群到达屏幕右边缘或左边缘的时候,怎么办?
在alien.py模块中定义一个函数,当外星人群到达屏幕边缘的时候,就返回True。
alien.py
def check_edges(self): """如果外星人位于屏幕边缘就返回True""" self.screen_rect = self.screen.get_rect() if self.rect.right >= self.screen_rect.right: return True elif self.rect.left <= 0: return True
在settings.py中为外星人添加一个方向设置:
self.fleet_drop_speed = 10 self.fleet_direction = 1 # 1表示向右,-1表示向左
我们使用fleet_direction表示外星人运动的方向,1表示外星人群向右,-1表示外星人群向左。
定义了一个变量fleet_drop_speed,表示有外星人撞到边缘时,外星人群向下移动的速度。
还要修改update()方法,让外星人的速度乘以方向。速度为正,表示外星人群向右运动,速度为负,表示外星人群向左运动。
"""更新外星人的位置""" def update(self): """向右或向左移动外星人""" self.x += (self.ai_settings.alien_speed_factor * self.ai_settings.fleet_direction) self.rect.x = self.x
向下移动外星人群并改变移动方向:
当有外星人碰到屏幕边缘的时候,需要将外星人群下移,并改变他们的移动方向。我们在game_functions.py模块中,定义一个函数change_fleet_direction()来实现这个功能。
def change_fleet_direction(ai_settrings,aliens): """将整群外星人下移,并改变方向""" for alien in aliens.sprites(): alien.rect.y += ai_settrings.fleet_drop_speed ai_settrings.fleet_direction *= -1
我们还需要检测有没有外星人到达左边缘或右边缘,如果有的话,就需要调用change_fleet_direction()函数,然后使用break终止程序。
def check_fleet_edges(ai_settings,aliens): """有外星人到达边缘时采取的措施""" for alien in aliens.sprites(): if alien.check_edges(): change_fleet_direction(ai_settings,aliens) break
我们使用for循环遍历外星人编组中的所有外星人,只要有一个外星人满足条件alien.check_edges(),即有外星人触碰到屏幕左边缘或者右边缘,就会调用change_fleet_direction()函数,将外星人群下移,并改变运动方向。然后使用break,跳出循环。
def check_fleet_edges(ai_settings,aliens): """有外星人到达边缘时采取的措施""" for alien in aliens.sprites(): if alien.check_edges(): change_fleet_direction(ai_settings,aliens) break
最后在update_aliens()中调用check_fleet_edges()方法,每次更新显示外星人群的时候,就需要判断是否有外星人触碰到屏幕边缘。
"""更新外星人的位置""" def update_aliens(ai_settings,aliens): """检查是否有外星人位于屏幕边缘,并更新正群外星人的位置""" check_fleet_edges(ai_settings,aliens) aliens.update()
最后,我们还需要在alien_invasion.py的while循环中将ai_settings作为实参传递给update_aliens()函数。
"""游戏循环体""" while True: """事件""" ...... """更新外星人群的位置""" gf.update_aliens(ai_settings,aliens)

文章参考书籍《Python编程:从入门到实践》
尝试一下,外星人群就开始移动起来了。
下一次,我们将实现飞船对外星人的射击功能。
欢迎同学们来学习Python编程语言,这门语言在当今的科学界应用广泛。Python语言的特点就是简单、易学,使用的人也多。今天就先来认识下这门有趣的语言吧
- 为什么要学习编程?
编程可以培养创造力、推理能力和创造力,提高孩子们自己解决问题的能力。编程是一个从无到有创造的过程。为了解决一个问题,我们要分析这个问题的逻辑,并按照预想的步骤进行编程,对电脑下单命令,往往在实际运行的过程中,结果并不如我们之前所预期的那样,这就还需要分析问题出在哪里。
总之,编程是个很有趣的过程,在我们反复思考的过程中,自身的学习能力和学习的兴趣都会被激发出来。
2. 为什么学习Python编程?
Python这门语言是非常容易学会的编程语言,而且Python在科学领域应用得非常广泛。现在最火的人工智能就是使用Python语言编程的。
Python入门很简单,而且能够快速看到编程的效果。另外Python还可以做图形化编程,这意味着同学们经过短暂的基础知识学习后,就可以尝试做一些有趣的小游戏了,这是非常有成就感的。其他语言做出游戏可就相当吃力了。
比如,Python语言有个Turtle模块,使用这个小工具,我们可以画出很多有趣的图形。另外还有个叫做tkinter的模块,可以很方便地做一个桌面小程序,就像windows窗口一样,非常有趣。还可以做一些图形和动画效果。
因此,Python是一门非常适合孩子们入门编程的语言。快来学习吧!
随着科技的发展,网上问诊也越来越火爆,各种网上付费的项目也是层出不穷,虽然有一定的效果,但是花费也是不少的,有的图片在线问诊需要花费上百元。这样让许多人感到了看病的压力。
小编在上网的时候,看到了一个python的项目,是基于医药知识图谱的智能问答系统。可以帮助我们进行简单的问题的解答。而且是免费的哦。所以,小编今天就教授大家如何安装这个库,并进行简单的查询。

01.项目的介绍
这个项目是借助了REfO的python库实现了问答的系统,基于REfO模块的问答系统利用自然语言处理的技术,将我们输入的问题进行解析,生成 SPARQL的查询,而生成的 SPARQL查询,进一步向后台的的Apache Jena Fuseki 请求服务,从而得到我们想要的答案。这里需要解释一下的是,大家可以认为Apache Jena Fuseki是一个特殊的服务操作,用 SPARQL协议向数据库查询特定的内容并进行返回。而且Apache Jena Fuseki需要在java环境下进行运行。所以,整个系统可以理解为下图的操作。

虽然网址上提供了如何安装该项目,但是还是存在各种问题,不熟悉的小伙伴装起来不一定能成功,所以为了更好的让大家理解,小编为大家进行了详细的整理,教大家如何安装该项目。
02.安装指定的python库
大家需要在python3.5的环境下,安装如下库:
jieba==0.39
SPARQLWrapper==1.8.1
REfO==0.13
Django==2.0.3
安装也是很简单的,我们以jieba为例,大家只需要运行 pip install jieba==0.39即可安装jieba库
03.下载并配置Apache Jena Fuseki
由于Apache Jena Fuseki运行在java的环境下,大家需要先自行安装java环境。然后大家只需要下载该(https://pan.baidu.com/s/1V7yqs4HKcQYJqDznf2MbSA)压缩包,并将其解压到自己指定的文件夹下,并修改fuseki_conf.ttl文件下的路径,如下图:

我们下载的文件解压后的文件名字为“apache jena”,我们需要将其中间的空格去除,然后放到一个自己指定的路径下即可。上图中,我将“apachejena”文件夹放到了自己指定的文件夹内,入第一个箭头所示。修改完之后,我们点击运行apachejena文件夹中apache-jena-fuseki-3.6.0文件中的fuseki-server.bat文件,启动apache jena fuseki服务。

启动后,在浏览器中输入localhost:3030,正常的话,会显示上图的界面。将settings.py和urls.py中按照上图的指示进行修改。
经过上面的处理后,我们就可以直接运行程序了,该项目一共有两种查询的方式,分别是文字查询和结合django的界面查询。以上就是小编今日的分享,小伙伴们可以自己动手进行操作,有问题可以评论区留言滴滴小编哟!
往期热门系列文章:
1)."7招秘籍: 教你玩转Python字符串"
2)."Python字典里的5个黑魔法"
3)."Python新手容易犯的4个错"
4)."5步教你搞清函数参数传递,就这么简单"
5)."Python函数里的4个小花招"
6)."一张图搞定-Python文件常用的场景和用法"
7)."精选2个小例子,带你快速入门Python文件处理"
8)."4招小技巧,带你迅速提升Python文件处理的逼格"
9)."精选2个小实例,带你轻松了解Python异常处理"
10)."异常处理的其他3个小技巧"
11)."很多书上都不告诉你,Python类中3个方法的秘密
12)."激活成功教程谜一样的正则表达式,从这9招开始"
趣味游戏文章: 太好玩了!用Python写个弹球游戏2.0
巧妙的Python数据结构玩法|实战德州扑克
手把手教你,菜鸟也能用Python写一个2048游戏
用Python做个美少女大战小怪兽
强烈推荐,用Python轻松打造定制款《植物大战僵尸》
Python心得和技巧:
零基础学了8个月的Python,到底有啥感悟
我珍藏的一些好的Python代码,技巧
菜鸟写Python程序,如何从新手变老手
菜鸟必收藏,13个Python惯用小技巧
数据分析和爬虫:
南京的房子卖的有多火|二手房成交数据分析上篇
南京的房子有多贵| 分析近20000套二手房的数据
爬取豆瓣短评,刘若英导演的电影《后来的我们》发现爱情原来是这样
震惊,区块链岗位薪资这么高,Python爬取300个区块链岗位深度分析,龙虎榜出炉!
懒人专用的奇淫技巧,用Python实现炫酷的语音操作电脑
Python里三个最高逼格的调试神器
九大神招,让Python里数据分析神器Jupyter,完美升华
推荐一款Python编辑器,集Pycharm和Sublime优点于一身的王者
更多原创的精彩干货可以去公众号【菜鸟学Python】找我们。目前原创近400个趣味原创案例(Python入门,进阶,经验技巧,爬虫,数据分析,机器学习,面试经验等),欢迎来公众号找我们交流!
有哪位好心人可以给帮忙介绍个少儿编程的兼职吗?python语言的,想找个少儿编程的兼职,发现好难找啊。

上面是scratch的编辑界面,每个家长在为孩子选择⼊门编程语⾔时,看到这个界面,心里难免会想:
(1)“scratch的那种拖块看起来像玩游戏,不如 Python、C++ 这样的代码编程语⾔⾼级,对于孩子太简单了。”
(2)"现在是人工智能时代,直接让孩子从Python学习,以后前景更好。"
(3)“让孩子学习C++,以后考个信奥对升学有帮助!”
......
选择的目的是找到最适合的那一个。那么,问题来了,最适合的编程语言,真的存在么?
01、scratch是什么?
首先,在讨论各种编程语言之前,我们先弄清楚scratch与python、c++的不同。
scratch
scratch的界面,很多人看到的第一反应就是这也太简单了吧!即使你没有学过编程,但是你看到每个模块就知道它的意思了,你不需要去记每个模块的具体语句,具体格式,只需要看到合适的拖拽就可以了。
这里有一个水仙花数的程序,所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
那么这道题是个很经典的程序题目,他的思路就是三位数的范围是100-999,我们只需要从100开始挨个判断直到999,看是否符合水仙花数的条件就可以了。
我们先来看scratch的程序

大家觉得如何?是不是虽然你编程可能是外行,但是看这个程序一目了然,完全可以读得懂编程者的思路。
运行起来也是格外的简单,直接点绿旗就好了。我们来看下运行结果

Python
那相同的题目,python是怎样的呢?

大家看出来区别了吗?python的程序看起来是不是更简单?但是他需要去记住各种语句和格式,这个程序输出是这样的:

我把程序随便改一下:

可是他报错了。为什么呢?很简单,print前面忘记空格了。

C++
那么C++在格式上要求的更加严格,我们再来看看C++的同款程序:

最后运行结果是:

可以看出来,C++跟python语句非常相似,但是他的格式要求更高。比如所有的分号都不能忘记,一旦格式有一丁点不对就直接报错。
通过以上分析,大家也知道了三者在难易程度上的区别。
02、为什么要让孩子学scratch?
对于一名零基础的孩子来说,培养编程的兴趣很重要,直接上手代码编程不是不可以,只是这样的学习会让孩子觉得枯燥,容易打消他们学习编程的积极性,甚至产生抵触。
如果真的想让孩子学习编程,那么他的学习路径应该是循序渐进的,孩⼦刚开始接触编程时,重要的有 2 点。
⼀是容易上手,让孩⼦能⽤编程做出东西,体会到编程的乐趣,培养孩子对编程的兴趣。
⼆是把精力尽量用在学习编程逻辑上,而不是编程语言的语法上。因为编程逻辑,才是编程的核心,真正锻炼思维的东西,而编程语⾔只是我们为了完成目的使用的⼯具。
而Scratch,就是最适合零基础孩子学习的编程语言。
(1)Scratch特点1:入门容易
Scratch使⽤了图形化的呈现,通过拖拽代码块进⾏编程,过程很像搭建“电⼦积⽊”,对刚接触编程的孩⼦来说,上⼿容易、门槛低。

(2)Scratch特点2:及时反馈
孩⼦使⽤Scratch时,点击单个代码块,就能看到“移动”、“转向”、“切换造型”等代码效果;通过⼀些简单的操作就能完成⼀个小故事、节⽇贺卡、⼩游戏⼀类的作品。这能让孩⼦在刚接触编程时,就体会到⾃⼰创造出作品的成就感,获得精神上的⿎励,更容易激起孩子的学习兴趣,有信心迎接后续的挑战。

(3)Scratch特点3:避免了代码语法错误
Python和C++之所以让⼈感觉⽐Scratch难,是因为Python/C++的代码语法更繁琐,在完成⼀个相同逻辑难度的作品时,Python/C++⽐起Scratch,需要花费更多的时间在解决语法问题上。
⽽Scratch是⽤拖拽代码块的⽅式来编程的,从根本上就不需要孩⼦去关注拼写错误、标点错误等⽆意义的语法问题,极大减轻了孩子对编程的挫败感,而让他们留有更多时间全⾝⼼专注于理解编程逻辑上,这才是对锻炼思维真正有⽤的部分。

(4)Scratch特点4:高上限
有的家长看到Scratch语法简单,就误以为Scratch只能做出简单的作品。其实编程的核⼼是逻辑和算法,编程语⾔只是⼯具,作品的复杂度是由编程逻辑决定的,⽽不是由⼯具决定的。
现在很多热门软件和游戏,虽然它们本身不是⽤Scratch开发的,但同样可以⽤Scratch还原出来,实现相同的效果。另外,Scratch对于创新的鼓励以及在图像创作、声音编辑和项目混制方面的功能优化,让它在成为各年龄段孩子首选编程语言上变得理所当然。
较之被称为“编程语言”,它更希望被定位为一个绘图工具,一个动画制作工具,或是一个故事与游戏创作工具。
学习了Scratch孩子,更愿意去尝试代码编程,因为他们觉得那意味着长大,只有“真正的编程”才会被行业采纳。

03、零基础的孩子先从 Scratch 语言开始学起
其实,选择哪种编程语言不是重点,激发孩子的学习兴趣,培养孩子的逻辑思维,掌握编程思想,学会用编程的方式去发现问题和解决问题才是重点。
如果孩子能够熟练掌握编程中变量、条件、循环,还有函数等基本的编程概念,并以一种语言编程成功,这时再用另一种语言来编程就不难了。
转换编程语言虽然不像打个响指那样容易,但只要了解了其他语言的语法就能快速上手,因为编程的核心不在于语法,而是解决问题的思路和方法(算法)。
因此,我们推荐零基础的孩子,先从 Scratch 语言开始学起。
价值298元乐高机器人编程体验包免费领取
《掌控板和Mind+互动创意设计》是一本将掌控板结合mind+的图形化编程进阶教程。本书可作为中小学学生相关课程的参考书,教师可以大班教学的方式开展校本课程的教学活动。

软硬结合、虚实交融,是当前互动媒体作品的重要特点。当物理世界和虚拟世界的信息实现互通时,学生们学习编程的兴趣将会大大增加。
Mind+是DFRobot推出的面向青少年的编程软件,支持图形化编程和Python代码编程,支持众多的开源硬件和扩展模块。掌控板则是国产开源硬件项目“虚谷计划”旗下的核心硬件,价格低廉且功能强大。
《掌控板和Mind+互动创意设计》该书由两位深度参与Mind+和掌控板开发的创客教育专家和多位经验丰富的小学创客导师共同编写。书中精选了16个难度逐步提升的创客小项目,涉及屏幕控制、舞台设计、传感器编程、可穿戴设备等内容,是图形化编程入门之后的进阶课程,为学生进 步学习物联网、人工智能等课程打下基础。

《掌控板和Mind+互动创意设计》介绍的项目的实施成本很低,硬件上仅仅需要1块掌控板即可完成。
软件简介:
Mind+是一款拥有自主知识产权的国产青少年编程软件,集成各种主流主控板及上百种开源硬件,支持人工智能(AI)与物联网(IoT)功能,既可以拖动图形化积木编程,还可以使用Python/C/C++等高级编程语言,让大家轻松体验创造的乐趣。

作者简介:
谢贤晓,浙江省平阳县创客教育教研员、浙派名师、温州市教坛新秀、中国电子学会现代教育技术分会创客教育专家组成员、中国自动化学会智慧教育专业委员会成员、温州市创客教育讲师团成员、温州大学硕士生导师、浙江省小学信息技术教材编委会成员。
谢作如,温州中学信息技术教师、浙江省特级教师、正高级教师、中国电子学会现代教育技术分会副主任委员、教育部综合实践活动课程指导纲要研制项目组专家、中央电教馆创客培训与竞赛项目组专家、中国STEM教育2029 创新行动计划专家、创客教师社群“猫友汇”联合创始人、开源硬件“虚谷计划”联合发起人,曾深度参与Mind+ 和掌控板的设计与开发,是国内中小学创客教育的领军人物。
《掌控板和Mind+互动创意设计》目录:
《掌控板和Mind+互动创意设计》
- 第一单元 智能控制
- 第1课 文字“打招呼” 002
- 第2课 景点展 010
- 第3课 小小“调光师” 019
- 第4课 我来做“DJ” 027
- 第二单元 舞台表演
- 第5课 模拟主持 035
- 第6课 跳跃的文字表演 042
- 第7课 吹气球大赛 051
- 第8课 光感舞台 058
- 第三单元 趣味互动
- 第9课 跷跷板 066
- 第10课 悟空吃蟠桃 074
- 第11课 电子音乐盒 080
- 第12课 钓鱼小能手 088
- 第四单元 综合创意
- 第13课 开发小工具 095
- 第14课 设计小游戏 101
- 第15课 改编小故事 108
- 第16课 挑战可穿戴 117
- 后记 123

版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/androidbc/59923.html