编程里最有用的偷懒工具“函数”

来源 :电脑报 | 被引量 : 0次 | 上传用户:cqwsly
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  极客战记地牢里的关卡主要是偏向锻炼用户的基本语法结构和计算机思维,让大家熟悉极客战记的操作与代码的使用。来到了森林,关卡将会变得更多更难,同样,到了森林,大家就正式开始接触编程的几大重要知识点:条件判断、运算符、函数、对象属性。
  一、边地之牢
  这一关涉及的编程知识为:函数和 参数,大家需要理解函数及其参数是什么东西,究竟需要如何使用,即可顺利过关。
  进入本关,刚开始如果你不太明白这一关需要英雄做什么,那么你可以直接点击运行按钮,来观察游戏过程,你需要找到两个要点:现有的代码是在让英雄干什么?游戏是为什么失败的,那么我们应该怎么做?
  这是在默认代码下的运行情况,可以知道:默认代码的作用,就是让英雄循环往返于上方的两个点,上方的敌人一出现,就被英雄消灭了。但英雄没有前往下方,导致下方的敌人击杀了村民,游戏失败。因此我们可以照着现有的代码略作改动,增加一段攻击下方敌人的代码。因此,此时的通关思路为:理解现有代码,对现有代码略作改动,需要实现的功能是:巡逻保卫下方村民安全。
  观察代码,在以往我们的代码都是仅有一个代码块,一个While True无限循环代码块包括了所有的运行代码块,而本关,除了While True代码块以外,还多了一块代码,它就是def函数代码块。
  二、函数
  函数是我们在上一关接触到的知识点,在Python里,我们使用关键字 def 来定义一个函数:关键字def是英文单词define的缩写,具有定义、明确的意思,我们创建一个函数,也叫定义一个函数。创建函数的格式如下:
  def 函数名,即函数里的代码,也叫函数体。可以看到,我们创建函数的时候,使用了冒号,为函数创建了一个单独的代码块。如果不记得代码块的概念了,可以点击链接,回到地牢复习一下:极客战记[地牢]:迷失在书库-通关代码及讲解,调用函数的格式则是:函数名(),十分简单。
  函数的作用:如果你有一段非常方便的代码,例如寻找敌人攻击敌人,那你要在每个可能有敌人的地方,都写一遍这一段代码,十分繁琐。
  而函数,就是一个偷懒的工具,我们可以把它想象成一个机器人,我们在机器人的程序里(函数体内)写好代码,当我们需要使用这段代码时,呼叫机器人的名字(函数名加括号),就能叫出这机器人来帮忙,而不需要总是写一大串同样的代码了。
  也因此,函数内的代码,它在没被调用时,是不会执行的。就像图中的函数checkAndAttack,虽然它的代码在最上面,但它的代码不会被执行,而是直接跳过,当后面有需要调用函数时,才运行这一段代码。了解了函数以后,我们再来了解一下参数。
  三、参数
  我们刚刚说,函数就像一个机器人,代码写在机器人的程序里,因此我们可以这么理解,函数和其他的代码,它们是互不相关的,机器人的程序(函数)和正常运行的代码,是两个相互独立的程序。
  因此,我们在正常运行的代码里写的一些变量,它们是不能直接使用到函数里的,因为它们是互不相关的两个程序。而参数,就是帮我们把外界变量传入函数内的工具。
  创建参数的方法:def 函数名(参数名),直接在函数名的括号内写上你要创建的参数名即可,你还可以创建不止一个参数:def 函数名(参数名1,参数名2,参数名3……):参数就是一个变量,它是专门用在函数里的,你可以提前写好它们各自要做的工作:
  def Test(t1,t2):
  hero.attack(t1)
  hero.say(t2)
  然后我们再按顺序,在调用的时候把我们的变量传入参数里:
  def Test(t1,t2):
  hero.attack(t1)
  hero.say(t2)
  enemy1 = hero.findNearest
  Enemy()
  word = "你好!"
  Test(enemy1,word)
  Test(enemy1,word),就是把enemy1作為t1,word作为t2传入了Test函数里,这样此时执行Test函数的时候,英雄就是去攻击enemy1,并说“你好!”
  明白了这两个知识点以后,我们再看到关卡里的代码:此时我们就知道,上方一个代码块,是系统已经帮我们写好的攻击敌人,并回到中心点的代码块,无需修改。那么我们以目前while True内的代码作为模板,写出攻击底部敌人的代码:移动到下方X标记处。
  到达下方后,寻找最近的敌人,使用checkAndAttack()函数攻击下方新找到的敌人,通关代码。
其他文献
距离特斯拉降价风波已经过去四天,小编这几天也捋了捋整件事的来龙去脉,其中有一些问题值得我们大家去探究,我对其中重要的几个地方进行了资料搜集和整理,并总结了一些个人的看法和大家伙分享。  一、特斯拉为什么降价?  汽车降价本是件很平常的事儿,什么汽车减配要降价,汽车更新换代要降价,同级别相互竞争要降价等等。这种降价其实幅度还不小,2018款的宝马3系现在不也降价8万了吗(大约23%)。只不过他们的这
期刊
状元档案  于佳弘,2019年吉林省高考文科状元,总分656,毕业于东北师大附中。  没有太多耀眼的成绩与光环,在东北师大附中,她和其他同学一样普通、平凡,但也是最独特的一个。她平时积极活跃、快乐满怀,在班级中担任历史课代表,总能尽职尽责、完美顺利地完成工作。她热衷于参加班级组织的书评及影评交流活动,乐于与同学们分享自己的心得体会,含英咀华、共品佳作。她还常积极主动地与老师们沟通,与同学们交流,开
期刊
转眼Windows 10已經推出了三年半的时间,Windows 7更是快10年了。  Win7安装安全更新要付费了  此前微软已经明确表明,2015年1月13日将会停止对Windows 7主流更新支持,2020年1月14日停止扩展支持。  如今微软又宣布,从4月1日起,Windows 7扩展安全更新将会明码标价。  具体价格为,Windows 7扩展安全更新将会以“台”为单位销售,其中专业版每台5
期刊
两会期间,移动通信问题再次被提上议程,除了老生常谈的提速降费,会上还指出:今年底之前全面实现携号转网工作。  三大运营商自然也立刻表示:“将认真贯彻落实这一重要的工作部署”,看来,早在2010年起就已经开始试点的携号转网至于要在全国范围内推广了。  那么,三大运营商的平衡必将被打破,为了留住用户(甚至抢夺别家用户),运营商必定会使出浑身手段,拼尽全力了。  首先是硬件条件,在国内大多数环境来看,中
期刊
【导语】  李长源,李泌是也!  对!就是那个说棋神童,深得大唐王朝4代皇帝欣赏的李泌。没错!就是那个少年成名奇、君相际遇奇、发挥作用奇,堪称大唐王朝第一奇人的李泌。  《长安十二时辰》的故事刚刚落幕,历史上的那位李泌李长源的故事却刚刚开始……  长歌行  □唐·李泌  天覆吾,地载吾,天地生吾有意无。  不然绝粒升天衢,不然鸣珂游帝都。  焉能不贵复不去,空作昂藏一丈夫。  一丈夫兮一丈夫,千生
期刊
小小波:或许是出生在秋季的缘故,每到九月,总让我格外想回到故乡,回到那个金灿灿一片忙碌和收获的村子。大学时,偶然在图书馆看到张炜的《九月寓言》,读完第一段话,农村那种自然蓬勃、野蛮生长的熟悉感便扑面而来,深深勾起我内心深处对故乡的思念和热爱,或许这就是我的“乡愁”。借回宿舍,一个人关在屋子里一边阅读一边忍不住流泪的场景,八年后依然记忆犹新。又一个九月里,重读此书,里面纯粹、热烈的情感,依然让我热泪
期刊
上个月,小师妹拿着刚发的工资又一阵噼里啪啦入手了十几件生活好物,在经历漫长的等待快递、拆包裹以及记录使用体验的周期后,小师妹为大家挑选出了4款必买的好物,注意,是必买啊!  宝家丽除螨仪  除螨这件事,很多年轻家庭都比较重视,小师妹也曾经详细讲过螨虫的危害以及除螨的必要性,所以就不再啰嗦啦!除螨的工具小师妹入手过好几种了,但这种手持的除螨仪还没有用过,趁着上次活动价就毫不犹豫入手了。  这款除螨仪
期刊
体验了几天小米9透明尊享版+小米无线车充,我真的有点回不去了。因为其他手机和无线车充的组合,无法达到这样的充电效率,基本上手机只要不是低电量状态,早上开车上班的路上充半个小时,就可以保证一天的使用。  小米9能实现20W无线充电的关键在于,其采用了和有线快充相同的半压直充方案,也就是我们常说的电荷泵技术。作为一种直流-直流转换器,利用电容作为储能元件进行电压变换,转化率接近100%。  小米9透明
期刊
昨天我在九边的新书里面看到一个词,叫“搶占式学习”。  他举了个例子:他有个朋友,买了一套柏杨版的白话《资治通鉴》,用一年时间看了两遍。结果呢,感觉是打通了任督二脉,写什么都下笔如有神。  我们可想而知啊,即便是看了两遍,里面那些具体的历史知识,他未必能记住多少。  但是作为通读过《资治通鉴》的人,文化视野的广度、对人性理解的深度肯定是和原来不一样的。这就是“抢占式学习”的意思。  有理没理,找一
期刊
QcK+绝地求生限定版鼠标垫是经过了官方授权且是大厂生产,做工精细、图案印刷精度更高,呈现出来效果更美观。产品基于赛睿经典的QcK+鼠标垫,450mm×400mm×2mm的尺寸大小适中,操作空间够用。  RIVAL 310绝地求生限定版鼠标基于RIVAL 310,采用了非常舒适的右手人体工学造型,对手掌的支撑很到位。  赛睿又出联名款鼠标套装了,这次合作的游戏是《绝地求生》,这款套装由RIVAL
期刊