【转载】编程里最有用的偷懒工具「函数」 | 亲子课堂 第 8 课

2024-01-09 02:20

本文主要是介绍【转载】编程里最有用的偷懒工具「函数」 | 亲子课堂 第 8 课,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

森林

地牢里的关卡主要是偏向锻炼用户的基本语法结构和计算机思维,让大家熟悉极客战记的操作与代码的使用。
来到了森林,关卡将会变得更多更难,同样,到了森林,大家就正式开始接触编程的几大重要知识点:

条件判断
运算符
函数
对象属性

边地之牢

在这里插入图片描述

关卡简介:

「边地之叉」这一关涉及的编程知识为:「函数」和 「参数」,大家需要理解函数及其参数是什么东西,究竟需要如何使用的,即可顺利过关。

通关展示:

在这里插入图片描述

思路讲解

进入本关,刚开始如果你不太明白这一关需要英雄做什么,那么你可以直接点击运行按钮,来观察游戏过程,你需要找到两个要点:

  1. 现有的代码是在让英雄在干什么?
  2. 游戏是为什么失败的
  3. 那么我们应该怎么做?
    在这里插入图片描述

这是在默认代码下的运行情况,可以知道:

  1. 默认代码的作用,就是让英雄循环往返与上方的两个点,上方的敌人一出现,就被英雄消灭了。
  2. 但英雄没有前往下方,导致下方的敌人击杀了村民,游戏失败。
  3. 因此我们可以照着现有的代码略作改动,增加一段攻击下方敌人的代码。

因此,此时的通关思路为:

1. 理解现有代码
2. 对现有代码略作改动,需要实现的功能是:巡逻保卫下方村民安全。

在这里插入图片描述
观察代码,在以往我们的代码都是仅有一个代码块,一个While True无限循环代码块包括了所有的运行代码块,而本关,除了While True代码块以外,还多了一块代码,它就是def函数代码块。

知识点:函数

函数是我们在上一关接触到的知识点
在这里插入图片描述
在Python里,我们使用关键字 def 来定义一个函数:
在这里插入图片描述
关键字def是英文单词define的缩写,具有定义,明确的意思,我们创建一个函数,也叫定义一个函数。
创建函数的格式如下:

def 函数名:
函数里的代码,也叫函数体#这里缩进4格

可以看到,我们创建函数的时候,使用了冒号,为函数创建了一个单独的代码块。

如果不记得代码块的概念了,可以点击链接,回到地牢复习一下:【转载】理解「代码块」概念,养成良好编程习惯 | 亲子课堂 第 3 课

调用函数的格式则是:

函数名()

十分简单。

函数的作用:

如果你有一段非常方便的代码,例如寻找敌人攻击敌人,那你要在每个可能有敌人的地方,都写一遍这一段代码,十分繁琐。

而函数,就是一个偷懒的工具,我们可以把它想象成一个机器人,我们在机器人的程序里(函数体内)写好代码,当我们需要使用这段代码时,呼叫机器人的名字(函数名加括号),就能叫出这机器人来帮忙,而不需要总是写一大串同样的代码了。

也因此,函数内的代码,它在没被调用时,是不会执行的。

在这里插入图片描述

就像图中的函数checkAndAttack,虽然它的代码在最上面,但它的代码不会被执行,而是直接跳过,当后面有需要调用函数时,才运行这一段代码。

了解了函数以后,我们再来了解一下参数

知识点:参数

我们刚刚说,函数就像一个机器人,代码写在机器人的程序里,因此我们可以这么理解,函数和其他的代码,它们是互不相关的,机器人的程序(函数)和正常运行的代码,是两个相互独立的程序。

因此,我们在正常运行的代码里写的一些变量,它们是不能直接使用到函数里的,因为它们是互不相关的两个程序。

而参数,就是帮我们把外界变量传入函数内的工具。

创建参数的方法:

def 函数名(参数名):

直接在函数名的括号内写上你要创建的参数名即可,你还可以创建不止一个参数:

def 函数名(参数名1,参数名2,参数名3……):

参数就是一个变量,它是专门用在函数里的,你可以提前写好它们各自要做的工作:

def Test(t1,t2):
hero.attack(t1)#这里缩进4格
hero.say(t2)#这里缩进4格

然后我们再按顺序,在调用的时候把我们的变量传入参数里:

def Test(t1,t2):
hero.attack(t1)#这里缩进4格
hero.say(t2) #这里缩进4格
enemy1 = hero.findNearestEnemy()
word = “你好!”
Test(enemy1,word)

Test(enemy1,word),就是把enemy1作为t1,word作为t2传入了Test函数里,这样此时执行Test函数的时候,英雄就是去攻击enemy1,并说“你好!”

明白了这两个知识点以后,我们再看到关卡里的代码:
在这里插入图片描述

此时我们就知道,上方一个代码块,是系统已经帮我们写好的攻击敌人,并回到中心点的代码块,无需修改。

那么我们以目前while True内的代码作为模板,写出攻击底部敌人的代码:

1. 移动到下方X标记处。
2. 到达下方后,寻找最近的敌人
3. 使用checkAndAttack()函数攻击下方新找到的敌人

通关代码

在这里插入图片描述

以上便是森林关卡「边地之叉」的过关教学了~

本攻略发于极客战记
极客战记——学编程,用玩的!

这篇关于【转载】编程里最有用的偷懒工具「函数」 | 亲子课堂 第 8 课的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/585635

相关文章

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

Python中isinstance()函数原理解释及详细用法示例

《Python中isinstance()函数原理解释及详细用法示例》isinstance()是Python内置的一个非常有用的函数,用于检查一个对象是否属于指定的类型或类型元组中的某一个类型,它是Py... 目录python中isinstance()函数原理解释及详细用法指南一、isinstance()函数

python中的高阶函数示例详解

《python中的高阶函数示例详解》在Python中,高阶函数是指接受函数作为参数或返回函数作为结果的函数,下面:本文主要介绍python中高阶函数的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录1.定义2.map函数3.filter函数4.reduce函数5.sorted函数6.自定义高阶函数

Python中的sort方法、sorted函数与lambda表达式及用法详解

《Python中的sort方法、sorted函数与lambda表达式及用法详解》文章对比了Python中list.sort()与sorted()函数的区别,指出sort()原地排序返回None,sor... 目录1. sort()方法1.1 sort()方法1.2 基本语法和参数A. reverse参数B.

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧

《Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧》本文将通过实际代码示例,深入讲解Python函数的基本用法、返回值特性、全局变量修改以及异常处理技巧,感兴趣的朋友跟随小编一起看看... 目录一、python函数定义与调用1.1 基本函数定义1.2 函数调用二、函数返回值详解2.1 有返

Python Excel 通用筛选函数的实现

《PythonExcel通用筛选函数的实现》本文主要介绍了PythonExcel通用筛选函数的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录案例目的示例数据假定数据来源是字典优化:通用CSV数据处理函数使用说明使用示例注意事项案例目的第一

使用python制作一款文件粉碎工具

《使用python制作一款文件粉碎工具》这篇文章主要为大家详细介绍了如何使用python制作一款文件粉碎工具,能够有效粉碎密码文件和机密Excel表格等,感兴趣的小伙伴可以了解一下... 文件粉碎工具:适用于粉碎密码文件和机密的escel表格等等,主要作用就是防止 别人用数据恢复大师把你刚删除的机密的文件恢