本题要求编写程序,输入n个学生的mooc成绩,统计优秀、合格证书的数量,以及没有获得证书的数量。学生修读程序设计mooc,85分及以上获得优秀证书,不到85分但是60分及以上获得合格证书,不到60分则没有证书

时间: 2023-08-17 11:02:32 浏览: 32
### 回答1: 题目要求编写程序,输入n个学生的MOOC成绩,统计优秀、合格证书的数量,以及没有获得证书的数量。学生修读程序设计MOOC,85分及以上获得优秀证书,但不及85分则获得合格证书,没有获得证书的分数则不及60分。 ### 回答2: 可以使用以下代码来实现对学生成绩的统计和证书的划分: ```python n = int(input("请输入学生的数量:")) excellent_count = 0 pass_count = 0 no_cert_count = 0 for i in range(n): score = int(input("请输入第{}个学生的mooc成绩:".format(i+1))) if score >= 85: excellent_count += 1 elif score >= 60: pass_count += 1 else: no_cert_count += 1 print("获得优秀证书的学生数量:", excellent_count) print("获得合格证书的学生数量:", pass_count) print("没有获得证书的学生数量:", no_cert_count) ``` 这段代码首先会要求输入学生的数量,然后通过for循环逐个询问每个学生的成绩,并根据成绩的不同进行相应的统计。如果成绩大于等于85分,则将优秀证书数量加1;如果成绩大于等于60分但小于85分,则将合格证书数量加1;如果成绩小于60分,则将没有证书数量加1。最后,输出各类证书的数量。 希望以上回答能够对您有所帮助! ### 回答3: 首先,我们可以定义三个变量,分别代表优秀证书数量、合格证书数量和没有获得证书的数量,初始化为0。 然后,我们通过for循环来输入n个学生的成绩。在每次循环中,根据学生的成绩来判断他们的证书情况,并更新相应的变量: ``` excellent_count = 0 # 优秀证书数量 qualified_count = 0 # 合格证书数量 no_certificate_count = 0 # 没有获得证书的数量 n = int(input("请输入学生数量: ")) for i in range(n): score = int(input("请输入第{}位学生的成绩: ".format(i+1))) if score >= 85: excellent_count += 1 elif score >= 60: qualified_count += 1 else: no_certificate_count += 1 print("优秀证书数量: ", excellent_count) print("合格证书数量: ", qualified_count) print("没有获得证书的数量: ", no_certificate_count) ``` 以上的代码就可以根据输入的学生成绩统计出优秀证书数量、合格证书数量和没有获得证书的数量,并将结果打印出来。

相关推荐

### 回答1: 可以使用Python的SciPy库中的dblquad函数来计算双重积分。以下是一个示例程序,用于计算双重积分: python from scipy.integrate import dblquad import numpy as np # 定义被积函数 def integrand(x, y): return np.exp(-x*y) # 定义积分区间 x_lower = 0 x_upper = 1 y_lower = lambda x: 0 y_upper = lambda x: 1-x # 计算双重积分 result, error = dblquad(integrand, x_lower, x_upper, y_lower, y_upper) # 输出结果 print("Result: ", result) print("Error: ", error) 在这个例子中,我们计算了双重积分$$\int_{0}^{1}\int_{0}^{1-x} e^{-xy}dydx.$$ 我们首先定义了被积函数integrand(x, y)。然后我们定义了积分区间,其中y的积分上限和下限都是函数x的函数。最后我们使用dblquad函数来计算积分结果和误差,并将它们打印出来。 ### 回答2: 编写Python程序求解双重积分可以使用数值积分的方法,如矩形法、梯形法或辛普森法。下面以矩形法为例进行说明。 首先,我们需要将双重积分转化为二重迭代的形式。根据给出的链接中的双重积分,可以发现积分范围为x从0到1,y从0到2,因此可以将双重积分表示为两重嵌套的积分形式。 然后,我们可以使用矩形法对双重积分进行近似计算。具体步骤如下: 在程序中引用数值计算库,如numpy库。 设置步长h1和h2,用于控制矩形的划分精度。 定义双重积分函数f(x, y),根据给定的双重积分表达式编写对应的Python函数。 使用两个嵌套循环,分别迭代x和y的取值范围,每次迭代计算f(x, y)并进行累加。这里要注意,x的取值范围是[0, 1],y的取值范围是[0, 2]。 最后,输出计算得到的近似积分值。 下面是一个简化的代码示例: python import numpy as np def f(x, y): return x**2 + y def double_integral(): h1 = 0.001 # x轴步长 h2 = 0.001 # y轴步长 integral_value = 0.0 # 积分值 for x in np.arange(0, 1, h1): for y in np.arange(0, 2, h2): integral_value += f(x, y) * h1 * h2 return integral_value result = double_integral() print("双重积分的近似值为:", result) 以上代码中,我们设置了较小的步长h1和h2来提高积分的精度,然后通过两个嵌套循环对二重积分进行近似计算。计算完成后,输出得到的近似积分值。 需要注意的是,由于双重积分结果可能是一个较大的数值,因此可能需要适当调整步长和划分区域的细度,以提高计算的准确性和效率。 ### 回答3: 要编写Python程序求解双重积分,我们可以使用数值积分的方法来逼近积分值。下面是一个简单的Python程序: python import numpy as np def f(x, y): return np.sin(x*y) def double_integral(a, b, c, d, n): dx = (b - a) / n dy = (d - c) / n integral = 0 for i in range(n): for j in range(n): x = a + i*dx + dx/2 y = c + j*dy + dy/2 integral += f(x, y) integral *= dx*dy return integral a = 0 # 第一个积分的下限 b = np.pi # 第一个积分的上限 c = 0 # 第二个积分的下限 d = np.pi # 第二个积分的上限 n = 100 # 将每个积分区间分成n个小区间 result = double_integral(a, b, c, d, n) print("双重积分的近似值:", result) 上述程序中,f(x, y)是被积函数,double_integral(a, b, c, d, n)是求解双重积分的函数。在函数中,我们将每个积分区间分成n个小区间,然后通过循环求和的方式,依次计算每个小区间的中点的函数值,并累加得到积分值。最后,将每个小区间的宽度dx和dy乘起来,得到整个双重积分的近似值。 以上是一个简单的数值积分求解双重积分的Python程序,可以根据需要进行调整和修改。
数电MOOC期末测试的主观题部分主要包括了理论知识与实际应用的结合,让学生能够更深入地理解和应用数字电路相关的知识。 在主观题部分,学生需要回答一些开放性问题,如分析设计数字电路的步骤、解释CMOS与TTL的优缺点、比较同步与异步时序电路等。 首先,学生需要掌握数字电路设计的基本步骤。他们要学会根据需求分析、制定规格说明、设计逻辑图和真值表、进行仿真测试、选择适当的元件和编写程序等。学生需要理解每一步的目的和方法,能够独立完成一个数字电路设计的全过程。 其次,对于CMOS与TTL的优缺点的解释,学生需要明白CMOS电路功耗低、抗干扰能力强、集成度高等优点,但也有一些缺点,例如CMOS电路设计复杂、成本较高。学生需要通过详细的解释来说明这些优缺点,能够将其应用于实际问题中。 最后,学生需要比较同步和异步时序电路。他们需要理解同步时序电路是基于时钟信号的同步操作,而异步时序电路则是基于输入信号的异步操作。学生需要比较两者的特点、优劣势,举例说明它们在实际应用中的差异。 综上所述,数电MOOC期末测试的主观题部分旨在考察学生对数字电路的理论知识的掌握以及对实际应用的理解与运用能力。通过答题,学生能够进一步加深对数字电路设计步骤、CMOS与TTL的优缺点以及同步与异步时序电路的理解,提高他们在实践中解决问题的能力。
### 回答1: 北邮现代交换原理MOOC课后题是一个与现代交换原理相关的课程,在培养学生对交换原理基础知识的理解和应用能力方面起到了重要作用。下面我将用300字回答其中的问题。 首先,现代交换原理是一门关于网络交换技术的学科,重点研究如何实现网络中数据的高效传输和路由选择。该课程涵盖了交换原理的基本概念、交换机的工作原理、交换机的分类和应用等方面的内容。 其中一道题目是关于虚电路和数据报文交换的对比。虚电路交换是一种在网络中建立固定路径的交换方式,数据报文交换则是根据每个数据包中的目标地址进行动态路由选择的交换方式。两者的区别主要体现在路由选择机制、数据传送效率和网络资源利用率等方面。 对于这个题目,我的答案是虚电路交换方式在传输数据之前需要建立一个固定路径,而数据报文交换方式则是根据每个数据包的目标地址在网络中进行动态路由选择,因此数据报文交换更加灵活。虚电路交换方式的优点是传输数据时效率较高,且有较小的延迟;缺点是容易出现信令过程较复杂、故障时恢复困难等问题。数据报文交换的优点是路由选择灵活、故障恢复能力强;缺点则是每个数据包都需要进行路由选择,会增加网络负载。 通过回答这道题目,我深入理解了虚电路交换和数据报文交换的区别和特点,并能够分析其优缺点及应用场景。这道题目有助于我巩固课程所学知识,并培养我的分析和解决问题的能力。 总之,北邮现代交换原理MOOC课后题是一门重要的课程,通过回答其中的问题,我加深了对交换原理的理解,并提高了解决问题的能力。这对我的学习和职业发展都具有积极的作用。 ### 回答2: 北邮现代交换原理mooc课后题是一门非常重要的课程,它主要涉及到现代交换原理的基本概念、交换系统的组成和功能、交换系统的性能分析等方面的内容。 在现代通信网络中,交换原理是关键技术之一。它通过将整个通信过程分割成多个数据包,并根据目的地址将这些数据包传输到目标位置。它能够提高网络的灵活性、可靠性和效率,使得信息能够快速传输和正确传输。 根据mooc课后题的要求,我们需要深入研究并回答这些问题。首先,我们需要理解交换系统的组成部分。传统的交换系统包括输入端口、输出端口和交换矩阵。输入端口负责接收数据,输出端口负责发送数据,而交换矩阵负责根据目的地址将数据从输入端口传输到输出端口。 其次,我们需要了解交换系统的功能。交换系统主要具有转发、排队和调度功能。转发功能是指交换系统将接收到的数据包传输到目标位置。排队功能是指交换系统在数据包到达时,暂时储存起来,以便按照一定的调度策略进行传输。调度功能是指根据一定的调度算法,选择合适的路径将数据包传输到目标端口。 最后,我们需要掌握交换系统的性能分析方法。常见的性能指标有吞吐量、时延和丢包率等。吞吐量表示单位时间内能够传输的数据量,时延表示数据从发送端到接收端所花费的时间,丢包率表示在传输过程中丢失的数据包的比例。我们需要了解如何通过合适的数据模型和分析方法来进行交换系统的性能分析。 总之,北邮现代交换原理mooc课后题是一门涉及到现代交换原理的重要课程,通过学习这门课程,我们可以深入了解交换系统的组成和功能,掌握交换系统的性能分析方法,提高我们对网络通信的理解和应用水平。 ### 回答3: 北邮现代交换原理MOOC课后题是对学生在学习过程中的理解和掌握程度进行考察的重要环节。这些题目旨在检验学生对现代交换原理的基本概念和原理的掌握情况。 在课后习题中,一般涵盖了原理的基本内容,包括交换原理的定义、分类、实现方式等等。学生需要通过学习课程内容,了解并熟悉各种交换原理的优缺点、作用以及实际应用。通过回答这些习题,学生可以巩固所学内容,提高对相关原理的理解和把握能力。 对于这些习题,学生需要认真思考并结合理论知识进行解答。首先,应仔细阅读题目,理解题目要求和考点。然后,根据已学知识,总结相关原理,列出解题思路。最后,进行具体的计算和分析,并合理运用所学知识,得出准确的答案。 课后习题的完成对学生的学习态度和认真程度有一定的检验作用。通过完成这些习题,学生可以巩固所学知识,加深对原理的理解,并且能够发现自己在学习过程中的不足之处,进一步提高自己的学习效果。 总之,北邮现代交换原理MOOC课后题是对学生学习成果的检验和巩固,通过这些题目的完成,学生能够提高对原理的理解和掌握能力,为今后的学习和实践奠定基础。
战德臣数据库MOOC模拟练习题解析主要是对数据库相关知识的应用和理解进行考察和分析。这些题目旨在帮助学生巩固和加强对数据库概念、操作和优化的认识和应用能力。 解析这些练习题,首先需要对题目进行仔细阅读和理解。了解题意后,根据问题的要求,运用数据库知识进行建模、查询或优化等方面的操作。 对于涉及数据库建模的题目,需要根据题目描述,设计合适的数据库结构,包括表的数量、字段及其数据类型,以及表与表之间的关系。同时,要注意保证数据库的范式,避免冗余数据和数据一致性问题的出现。 对于查询题目,需根据题目描述,编写合适的SQL语句进行查询。要注意查询条件和字段选择的准确性,以及查询结果的正确性。相关知识点包括:SELECT语句的使用、连接操作、条件筛选、排序、分组、聚合函数等。 对于性能优化题目,需根据题目描述,分析数据库操作的瓶颈,提出相应的优化方案。可以从索引优化、查询语句优化、表结构优化等方面进行思考和答题。 在解析这些练习题时,需要熟悉数据库的相关概念和操作技巧,如关系型数据库管理系统(例如MySQL、Oracle等)的使用,SQL语言的基本语法和常用操作等。同时,还需了解数据库的设计原则、范式理论、查询优化技巧、索引设计等内容。 通过解析这些练习题,可以提高对数据库知识的理解和应用能力,进一步夯实数据库相关的基础知识,为后续的数据库开发和管理工作打下坚实的基础。
### 回答1: 哈工大形式语言与自动机理论MOOC练习题分为两部分:选择题和编程题。选择题主要考察学生对于形式语言与自动机理论的基本概念和知识的掌握程度,题目不考察太深入的细节,大多数都可以在课程的PPT中找到答案。编程题主要考察学生对于自动机的理解和能力的实现,需要学生熟练掌握Python语言的基本语法和知识,并且需要结合课程中讲解的内容,掌握如何用Python实现自动机的构建和分析。 选择题中包括一些比较典型的题目,例如求解最短字符串、判断语言的等价性、求解正则表达式等等。这些题目都是在课程中详细讲解过的,需要学生认真复习PPT中的内容,掌握重点难点,才能对选择题答题有较好的准确率。 编程题中一般不会有太多的代码要求,主要是考查学生如何运用Python语言来实现自动机。例如,求解一个正则表达式的DFA,需要学生熟练掌握正则表达式的基本语法和Python的re模块,以及如何将正则表达式转换为NFA和DFA,并且实现DFA的最小化算法。编程题难度相对选择题会比较高,需要学生对于理论知识的掌握和动手能力有一定的要求,同时也需要学生具备一定的代码思维和分析能力。 综上所述,哈工大形式语言与自动机理论MOOC练习题是一个相对严谨的练习题库,需要学生认真复习课程中的内容,并且结合大量的实践演练,才能够掌握理论知识和动手能力,提高自己的学习水平和能力。 ### 回答2: 哈工大形式语言与自动机理论MOOC练习题是在学习该课程的过程中重要的一环。该课程涵盖了形式语言与自动机理论的基础知识,通过课程练习题的完成,可以帮助学生更好地掌握理论知识,加强对于课程内容的理解。 在完成哈工大形式语言与自动机理论MOOC练习题的过程中,需要掌握一定的逻辑思维能力,以及一定的代码编程能力。题目通常涉及到正则表达式、自动机等相关知识点,需要学生能够灵活运用这些知识点,组织解题思路。 此外,在完成练习题的过程中,还需要学生注重细节和准确性。这些细节可能会影响到最终的解题结果,因此学生需要仔细和认真地完成每一个步骤。 总之,完成哈工大形式语言与自动机理论MOOC练习题是学习该课程不可或缺的一部分,它对于学生掌握理论知识、提高逻辑思维能力、加强编程技能都有重要的作用。
自动控制原理MOOC期末主观题的答案可以分为以下几部分。 首先,对于自动控制原理的概念,我们可以简明扼要地解释它。自动控制原理是一门研究控制系统及其构成要素、原理和方法的学科。它涉及到信号的检测与转换、系统的建模与分析、控制器的设计与优化等方面的内容。 接下来,对于控制系统的分类,我们可以介绍一下。控制系统可以分为开环控制系统和闭环控制系统。开环控制系统是指控制器的输出不受被控对象的实际状况反馈影响,控制器的输出仅依赖于被控对象的设定值。闭环控制系统则是在开环控制系统的基础上加入了反馈环节,控制器的输出会根据被控对象的实际状况进行调整。 然后,对于控制系统的基本组成要素,我们可以列举出来。一个控制系统通常由被控对象、传感器、控制器和执行器四个基本组成要素构成。被控对象是控制系统要控制的对象,传感器用于检测被控对象的实际状况并将其转化成电信号,控制器根据传感器的信号产生控制策略,执行器根据控制器的输出实施相应的控制动作。 最后,对于控制系统的性能指标和设计方法,我们可以进行一些简要的介绍。控制系统的性能指标包括稳定性、快速性、准确性和抗干扰性等。设计控制器的方法包括经典控制方法和现代控制方法,其中经典控制方法包括比例控制、积分控制和微分控制,现代控制方法包括状态反馈控制和最优控制等。 通过对这些方面的回答,可以对自动控制原理MOOC期末主观题的答案进行一个基本的概括和解释。
南京邮电大学mooc高级程序语言设计(c语言)是一门涵盖C语言高级编程技术的课程,旨在帮助学生深入了解C语言的高级特性和编程技巧,提高其编程能力和实践能力。该课程内容涵盖C语言的指针、结构体、文件操作、动态内存分配等高级特性,同时还包括C语言程序设计的实践案例和项目实战,帮助学生掌握C语言的实际应用能力。通过学习该课程,学生可以更好地理解C语言的高级编程技术,提高自己的编程水平和实践能力,为今后的编程工作打下坚实的基础。 ### 回答2: 南京邮电大学MOOC高级程序语言设计(C语言)是一门针对程序员进阶的课程。该课程涵盖了广泛的主题,包括指针,数组,函数,结构体,位运算,文件操作,数据结构和算法等。通过学习这门课程,学生将能够深入了解C语言的各个方面,并且掌握在实际项目中设计高效和可维护代码的技能。 该课程教学构成清晰,系统性强。课程内容一共划为十周,每周都有不同的主题和课程内容。每周的课程内包含了学习视频,动画辅助,需要编程的作业题目以及参考答案。通过这些作业,学生能够得回反馈和指导,从而更快地理解和运用所学内容。 评估方式合理。这门课程的成绩评估以学生提交的作业为主。具体来说,每周都有一个作业,每个作业的满分均为100分。课程作业的类型有选择题,填空题,代码编写题和综合性的考察,能够全方位地考察学生对所学知识的掌握程度。 课程内容充实,涉及的主题深入。这门课程不只涵盖了C语言的基础知识,还对指针、数组、结构体、位运算、文件操作、数据结构和算法等内容进行了深入讲授。通过学习课程,学生可以更好地掌握和应用这些知识,为以后的编程工作打好基础。 总之,南京邮电大学MOOC高级程序语言设计(C语言)是一门高质量的在线编程课程,这门课程内容广泛,涵盖了很多重要的C语言编程技术,将帮助学生全面掌握C语言的基本概念,让他们能够在编写高效、可维护代码方面更加熟练。如果你是一个正在寻找进阶在线编程课程的程序员,我强烈推荐你学习这门课程。

最新推荐

MOOC《Python语言程序设计》第6周练习题

这周讲解了组合数据类型,重点介绍...获取以逗号分隔的多个数据输入(输入为一行),计算基本统计值(平均值、标准差、中位数)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬

中国大学mooc-Python爬虫与信息获取第一周测试题及答案

中国大学mooc-Python爬虫与信息获取第一周测试题及答案中国大学mooc-Python爬虫与信息获取第一周测试题及答案

数值分析习题练习.doc

数值分析相关习题练习,考察对数值分析中的相关算法掌握的是否牢固,可作为期末考试复习资料,也可选为数值分析测试所用题目。

南邮_微机原理作业_孙力娟_部分课后题_.doc

南邮微机原理考研指定教材《微型计算机原理与接口技术-清华大学出版社》部分课后习题

城轨列车,全球市场总体规模,前14大厂商排名及市场份额

城轨列车,全球市场总体规模,前14大厂商排名及市场份额

代码随想录最新第三版-最强八股文

这份PDF就是最强⼋股⽂! 1. C++ C++基础、C++ STL、C++泛型编程、C++11新特性、《Effective STL》 2. Java Java基础、Java内存模型、Java面向对象、Java集合体系、接口、Lambda表达式、类加载机制、内部类、代理类、Java并发、JVM、Java后端编译、Spring 3. Go defer底层原理、goroutine、select实现机制 4. 算法学习 数组、链表、回溯算法、贪心算法、动态规划、二叉树、排序算法、数据结构 5. 计算机基础 操作系统、数据库、计算机网络、设计模式、Linux、计算机系统 6. 前端学习 浏览器、JavaScript、CSS、HTML、React、VUE 7. 面经分享 字节、美团Java面、百度、京东、暑期实习...... 8. 编程常识 9. 问答精华 10.总结与经验分享 ......

无监督视觉表示学习中的时态知识一致性算法

无监督视觉表示学习中的时态知识一致性维信丰酒店1* 元江王2*†马丽华2叶远2张驰2北京邮电大学1旷视科技2网址:fengweixin@bupt.edu.cn,wangyuanjiang@megvii.com{malihua,yuanye,zhangchi} @ megvii.com摘要实例判别范式在无监督学习中已成为它通常采用教师-学生框架,教师提供嵌入式知识作为对学生的监督信号。学生学习有意义的表征,通过加强立场的空间一致性与教师的意见。然而,在不同的训练阶段,教师的输出可以在相同的实例中显著变化,引入意外的噪声,并导致由不一致的目标引起的灾难性的本文首先将实例时态一致性问题融入到现有的实例判别范式中 , 提 出 了 一 种 新 的 时 态 知 识 一 致 性 算 法 TKC(Temporal Knowledge Consis- tency)。具体来说,我们的TKC动态地集成的知识的时间教师和自适应地选择有用的信息,根据其重要性学习实例的时间一致性。

create or replace procedure这句语句后面是自定义么

### 回答1: 是的,"create or replace procedure"语句后面应该跟着自定义的存储过程名。例如: ```sql create or replace procedure my_procedure_name ``` 这里"my_procedure_name"是你自己定义的存储过程名,可以根据具体需求进行命名。 ### 回答2: 不完全是自定义。在Oracle数据库中,"CREATE OR REPLACE PROCEDURE"是一条SQL语句,用于创建或替换一个存储过程。关键词"CREATE"表示创建新的存储过程,关键词"OR REPLACE"表示如果该存储过程

数据结构1800试题.pdf

你还在苦苦寻找数据结构的题目吗?这里刚刚上传了一份数据结构共1800道试题,轻松解决期末挂科的难题。不信?你下载看看,这里是纯题目,你下载了再来私信我答案。按数据结构教材分章节,每一章节都有选择题、或有判断题、填空题、算法设计题及应用题,题型丰富多样,共五种类型题目。本学期已过去一半,相信你数据结构叶已经学得差不多了,是时候拿题来练练手了,如果你考研,更需要这份1800道题来巩固自己的基础及攻克重点难点。现在下载,不早不晚,越往后拖,越到后面,你身边的人就越卷,甚至卷得达到你无法想象的程度。我也是曾经遇到过这样的人,学习,练题,就要趁现在,不然到时你都不知道要刷数据结构题好还是高数、工数、大英,或是算法题?学完理论要及时巩固知识内容才是王道!记住!!!下载了来要答案(v:zywcv1220)。

基于对比检测的高效视觉预训练

10086⇥⇥⇥⇥基于对比检测的高效视觉预训练Ol i vierJ. He´naf f SkandaKoppula Jean-BaptisteAlayracAaronvandenOord OriolVin yals JoaoCarreiraDeepMind,英国摘要自我监督预训练已被证明可以为迁移学习提供然而,这些性能增益是以大的计算成本来实现的,其中最先进的方法需要比监督预训练多一个数量级的计算。我们通过引入一种新的自监督目标,对比检测,任务表示与识别对象级功能跨增强来解决这个计算瓶颈。该目标可提取每幅图像的丰富学习信号,从而在各种下游任务上实现最先进的传输精度,同时需要高达10少训练特别是,我们最强的ImageNet预训练模型的性能与SEER相当,SEER是迄今为止最大的自监督系统之一,它使用了1000多个预训练数据。最后,我们的目标无缝地处理更复杂图像的预训练,例如COCO中的图像,缩小了从COCO到PASCAL的监督迁移学习的差距1. 介绍自从Al