首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我正在试着写一个程序来添加两个整数列表。下面是我的实现:

你好!根据你的描述,你正在试着写一个程序来添加两个整数列表。下面是你的实现:

代码语言:python
代码运行次数:0
复制
def add_lists(list1, list2):
    result = []
    for i in range(len(list1)):
        result.append(list1[i] + list2[i])
    return result

list1 = [1, 2, 3, 4, 5]
list2 = [6, 7, 8, 9, 10]
print(add_lists(list1, list2))

这个程序的目的是将两个整数列表中的对应元素相加,并返回一个新的列表。你的实现基本上是正确的,但是有一些边界情况需要考虑和改进的地方。

首先,你的实现假设两个列表的长度相同。如果两个列表的长度不同,你的程序将会引发IndexError异常。为了避免这种情况,你可以在循环之前添加一个条件判断,检查两个列表的长度是否相同。

其次,你可以考虑使用列表推导式来简化代码。列表推导式可以更加简洁地实现对列表的操作。下面是使用列表推导式改进后的代码:

代码语言:python
代码运行次数:0
复制
def add_lists(list1, list2):
    return [x + y for x, y in zip(list1, list2)]

list1 = [1, 2, 3, 4, 5]
list2 = [6, 7, 8, 9, 10]
print(add_lists(list1, list2))

这个改进后的代码使用了zip()函数来同时迭代两个列表,并将对应位置的元素相加。然后,使用列表推导式将相加的结果生成一个新的列表。

关于云计算和相关的名词词汇,以下是一些常见的概念和推荐的腾讯云产品:

  1. 云计算(Cloud Computing):云计算是一种通过网络提供计算资源和服务的模式。它可以提供灵活的计算能力、存储空间和应用程序服务,以满足用户的需求。腾讯云提供了全面的云计算服务,包括计算、存储、数据库、人工智能等。
  2. 前端开发(Front-end Development):前端开发是指开发网页或应用程序的用户界面部分。它涉及使用HTML、CSS和JavaScript等技术来创建用户可以与之交互的界面。腾讯云的前端开发相关产品包括腾讯云Web+、腾讯云CDN等。
  3. 后端开发(Back-end Development):后端开发是指开发网页或应用程序的服务器端部分。它涉及处理数据、逻辑和安全等后台操作。腾讯云的后端开发相关产品包括腾讯云云服务器、腾讯云函数计算等。
  4. 软件测试(Software Testing):软件测试是指通过运行和评估软件来检查其质量和功能的过程。它可以帮助发现和修复潜在的错误和缺陷。腾讯云的软件测试相关产品包括腾讯云移动测试服务、腾讯云云测等。
  5. 数据库(Database):数据库是用于存储和管理数据的系统。它可以提供高效的数据访问和管理功能。腾讯云的数据库相关产品包括腾讯云云数据库MySQL版、腾讯云云数据库MongoDB版等。
  6. 服务器运维(Server Operation and Maintenance):服务器运维是指对服务器进行监控、维护和管理,以确保服务器的正常运行和安全性。腾讯云的服务器运维相关产品包括腾讯云云监控、腾讯云云安全等。
  7. 云原生(Cloud Native):云原生是一种构建和运行应用程序的方法论,它利用云计算的优势,如弹性、可扩展性和容错性。腾讯云的云原生相关产品包括腾讯云容器服务、腾讯云无服务器云函数等。
  8. 网络通信(Network Communication):网络通信是指在计算机网络中传输数据和信息的过程。它涉及使用各种协议和技术来实现数据的传输和交换。腾讯云的网络通信相关产品包括腾讯云私有网络、腾讯云弹性公网IP等。
  9. 网络安全(Network Security):网络安全是指保护计算机网络和系统免受未经授权的访问、攻击和损害的措施。它涉及使用各种技术和策略来确保网络的安全性和保密性。腾讯云的网络安全相关产品包括腾讯云云安全中心、腾讯云DDoS防护等。
  10. 音视频(Audio and Video):音视频是指处理和传输音频和视频数据的技术和应用。它涉及编码、解码、传输和播放等方面。腾讯云的音视频相关产品包括腾讯云音视频处理、腾讯云直播等。
  11. 多媒体处理(Multimedia Processing):多媒体处理是指对多媒体数据(如图像、音频和视频)进行编辑、转换和处理的过程。它涉及使用各种算法和工具来改变多媒体数据的属性和特征。腾讯云的多媒体处理相关产品包括腾讯云智能音视频处理、腾讯云媒体处理等。
  12. 人工智能(Artificial Intelligence):人工智能是指模拟和实现人类智能的技术和应用。它涉及使用机器学习、深度学习和自然语言处理等技术来实现智能化的功能和服务。腾讯云的人工智能相关产品包括腾讯云智能图像、腾讯云智能语音等。
  13. 物联网(Internet of Things):物联网是指通过互联网连接和交互的物理设备和对象的网络。它涉及使用传感器、通信和数据处理技术来实现设备之间的互联和智能化。腾讯云的物联网相关产品包括腾讯云物联网开发平台、腾讯云物联网通信等。
  14. 移动开发(Mobile Development):移动开发是指开发移动应用程序的过程。它涉及使用移动平台的开发工具和技术来创建适用于移动设备的应用程序。腾讯云的移动开发相关产品包括腾讯云移动应用开发套件、腾讯云移动推送等。
  15. 存储(Storage):存储是指用于保存和管理数据的设备和系统。它涉及使用各种存储介质和技术来存储和访问数据。腾讯云的存储相关产品包括腾讯云对象存储、腾讯云文件存储等。
  16. 区块链(Blockchain):区块链是一种去中心化的分布式账本技术,它可以实现安全的数据交换和存储。它涉及使用密码学和共识算法来确保数据的可信和不可篡改性。腾讯云的区块链相关产品包括腾讯云区块链服务、腾讯云区块链托管等。
  17. 元宇宙(Metaverse):元宇宙是指虚拟和现实世界的融合,创造出一个全新的虚拟空间。它涉及使用虚拟现实、增强现实和人工智能等技术来实现用户的沉浸式体验和交互。腾讯云的元宇宙相关产品包括腾讯云虚拟现实、腾讯云增强现实等。

希望以上信息对你有所帮助!如果你有任何其他问题,请随时提问。

相关搜索:我是javascript的新手,我正在尝试做一个html程序来计算狗的年龄。我正在试着做一个lcd程序,这样所有的数字是并排打印的,但它不工作正在开发一个购买电影票的程序。试着弄清楚我是否需要一个while循环来完成我想要完成的任务?我正在向一个.h文件添加一个“模板化的非成员函数”。为什么在我添加了下面的代码后,我的程序没有输出任何东西:我正在编写一个cpp程序来打印两个数字之间的所有质数。程序正在成功运行,但没有打印任何内容我正在试着写一个程序,可以为用户提供pdf文件的密码保护。用户需要能够上传pdf和下载一个受保护的我正在开发一个android应用程序,如何通过点击地址进入谷歌地图?下面是使用Sqlite的一些代码我正在尝试实现一个将+1添加到特定整数字段的更新视图。在view函数中,发生了not defied错误我想在我的通知中添加一个大图标,但是当我运行应用程序时,这个大图标没有显示出来。下面是我的代码,有错误的地方有帮助吗?我想我的问题是如何重用一个对象来将2条记录添加到我的数据库程序中我的代码正在处理一个字典列表,比如一个字符串,类型错误: TypeError:字符串索引必须是整数我正在制作一个应用程序,其中的一部分是添加用户在其中创建的博客,而我无法在超过一个页面中区分它们
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何用Python检测视频真伪?

许多评论都说这个视频伪造也是这么想,但我想确定这个结论。 计划 一个程序检测视频中是否有循环。之前从来没有用Python处理过视频,所以这对来说有点难度。...我们想看看视频中是否有多个帧出现了多次,有一个方法,就是计算我们看到每一帧次数。 两个字典类型变量进行计数。一个跟踪已经看到帧,另一个跟踪所有完全相同帧。...如果没有,则把这一帧添加到我已看过帧字典中(见下面的seenframes)。如果以前看过这一帧,则将它添加到另一个字典(dupframes)列表中,这个字典包含了其他一模一样帧。...哈希函数将图像(数组)转换为整数。如果两个图像完全相同,则哈希函数将得到相同整数。如果两个图像不同,我们将得到两个不同整数。...对于64x64,它看起来和原来图像没什么不同,两者之间可能没有足够大区别来忽略压缩产生噪声。 为了找到适合我们分辨率,试着在两段类似的视频中通过设置一系列不同分辨率寻找匹配项。

1.5K30

从0开始自制解释器——实现多个整数加减法

在上一篇我们实现一个可以计算两个多位整数加减法计算器。本章我们继续来给这个计算器添加功能,这次要给它添加可以连续计算多个整数相加减功能。例如我们可以计算 1 + 2 + 3 这样表达式。...语法图直观展示了在编程语言中哪些语句符合语法,哪些不符合语法规范。 语法图阅读非常容易,它类似于程序流程图,只要顺着箭头指向路径读即可。...与程序流程图类似,语法图中有些路径表示选择,有些表示循环。我们试着读一下下面的语法图 这张语法图表示含义一个术语(term) 可选跟上一个加号或者减号,而后面又需要跟上另一个术语。...\n"); } } 这里为了便于理解,将获取整数和操作符模块又进行了一次封装,提供了两个函数分别是 get_term() 和 get_oper()。...整个实现过程代码都放到该位置。有兴趣小伙伴可以自己对照着代码跟着一起实现属于自己解释器。

48020
  • 高阶实战 | 如何用Python检测伪造视频

    许多评论都说这个视频伪造也是这么想,但我想确定这个结论。 计划 一个程序检测视频中是否有循环。之前从来没有用Python处理过视频,所以这对来说有点难度。...两个字典类型变量进行计数。一个跟踪已经看到帧,另一个跟踪所有完全相同帧。当我逐个浏览每一帧时,首先检查以前是否看过这一帧。...如果没有,则把这一帧添加到我已看过帧字典中(见下面的seen_frames)。如果以前看过这一帧,则将它添加到另一个字典(dup_frames)列表中,这个字典包含了其他一模一样帧。...哈希函数将图像(数组)转换为整数。如果两个图像完全相同,则哈希函数将得到相同整数。如果两个图像不同,我们将得到两个不同整数。...对于64×64,它看起来和原来图像没什么不同,两者之间可能没有足够大区别来忽略压缩产生噪声。 为了找到适合我们分辨率,试着在两段类似的视频中通过设置一系列不同分辨率寻找匹配项。

    1.4K50

    常用Markdown格式语法规则

    最近开始试着学习使用Typora文档记录东西,这篇放一些常用Markdown使用例以便回顾,并分享给大家Markdown介绍:Markdown一种轻量级标记语言,它允许人们使用易读易纯文本格式编写文档...Markdown语法简单直观,目的是为了让非技术人员也能快速上手,用简单符号和指令添加如标题、列表、链接、图片等元素。...#:Markdown 支持六级标题,这些标题通过在文本前添加不同数量 # 符号定义。...2.字体强调相关语法:加粗,通常在文本前后各添加两个星号(**)或下划线(__)斜体一个星号或下划线斜体加粗三个星号或下划线*斜体* _斜体_**加粗** __加粗__***斜体加粗***...删除线通常在文本两侧加两个~~示例:~~地平论支持者(不是)~~地平论支持者(不是)3.引用要创建块引用,在段落前添加一个 > 符号,引用也可以嵌套,如加两个>>三个>>> n个>>>>...

    19131

    通过欧拉计划学习Rust编程语言

    sum::() 一个范型函数,这种两个冒号语法让好不适应。 还可以用fold()函数,这样: println!...rust中关于整数表示提供了多种数据类型,默认整数类型i32,默认浮点类型f64。...[1, 2]; 上面一行与下面三行等价: let mut fib = Vec::new(); fib.push(1); fib.push(2); push()函数用于给列表增加一个元素。...("{}", i); break; } } 程序编译没问题,但几分钟也运行不出来结果,试着把数字调小一点,比如:600851,不到1秒出结果,看来程序效率太差了,主要是有大量判断素数运算量...("{}", sum * sum - sum_of_squares); --- END --- 可以在projecteuler中添加下面这个key,加我为好友,一起学习。

    1K30

    探究Java方法神奇魔法和参数传递奥秘,有两下子!

    返回类型int,表示这个方法将返回一个整数。方法名add,表示这个方法用于添加两个数。参数列表包含两个int类型参数a和b。方法体计算两个和,并使用return语句返回结果。  ...例如,下面一个简单Java方法,它把两个整数相加,并返回结果:public int add(int num1, int num2) { int result = num1 + num2;...方法实现:list.set(0, 5);:在changeList方法内部,使用set方法修改列表一个元素(索引为0元素)。这里将第一个元素值设置为5。...ArrayListJava中List接口一个具体实现,允许动态数组特性。添加元素:list.add(3);:向列表添加一个整数值3。此时,列表中只有一个元素,即3。...这允许开发者根据需要选择正确方法版本来执行。代码改进代码中没有包含main方法,这是Java程序入口点。通常,我们会在类中添加一个main方法测试其他方法。

    17822

    C语言操作EXCEL文件(读写)

    大家好,又见面了,你们朋友全栈君。...操作十分复杂,当然也对这种方法进行了尝试,也实现了功能,这种方法实现功能比较多,一般我们只是进行简单读写操作,所以并不是很想使用这种方法。下面通过C语言读写程序实现。...如果要给它一个同行单元格(第1行第2列)数据,使用”\t” ; 如果要给它一个同列单元格(第2行第1列)数据,使用”\n” 。...0 ,并将他们工程发到我邮箱,试着运行了下,确实发现是0.0 ,程序没有报错。...然后,试着将他们发给我工程里excel文件或者csv文件打开,发现会弹出提示文件损坏,如果点击“”的话,文件同样可以继续打开,这可能文件格式损坏了,所以程序计算不了数据位置。

    4.7K20

    安全编码实践之一:注入攻击防御

    意思渗透测试,并有专门团队负责构建应用程序安全性惊人,总是值得称赞,但它不是每个人都能负担得起。...在本文中,将介绍三种不同类型注入攻击和方法,您可以使用它们防止它们: 1. SQL注入 这种类型攻击主要发生在攻击者在语句末尾添加一个单引号(')时,将OR添加到语句后面的真值总数。...简单来说,SQL有效负载看起来像这样 '或1 = 1 - 添加到查询中上述语句可以帮助攻击者获得对完整数据库访问权限。为了让您更好地理解下面的查询,它将为攻击者提供整个数据库。...此攻击利用漏洞,攻击者可以进入并执行应用程序不期望命令。 让与您分享一个示例,以显示命令注入攻击基本实现。 ?...让我们打开burp-suite并拦截应用程序发出请求。 ? 因此,在上面的图像中,我们可以看到ToolId正在请求查询中发送,我们将有效负载添加到ToolId,以检查它是否在响应查询中反映给我们。

    1.5K20

    通过编写扫雷游戏提高你 Bash 技巧

    如果你一个有经验 Bash 程序员,希望在提高技巧同时乐在其中,那么请跟着编写一个运行在终端中扫雷游戏。完整代码可以在这个 GitHub 存储库中找到。...我们先横着显示 [a-j] 然后再将 [0-9] 行号显示出来,我们会用这两个范围,确定用户排雷的确切位置。 接着,在每行中,插入列,所以是时候一个 for 循环了。...这一循环管理着每一列,也就是说,实际上生成游戏界面的每一格。添加了一些辅助函数,你能在源码中看到它完整实现。...对每一格来说,我们需要一些让它看起来像地雷东西,所以我们先用一个点(.)初始化空格。为了实现这一想法,我们用一个叫 is_null_field 自定义函数。...请注意下面代码中 X,它是我们唯一游戏结束标志。我们将它添加到随机列表中。在 shuf 命令魔力下,X 可以在任意情况下出现,但如果你足够幸运的话,也可能一直不会出现。

    1.2K20

    玩转Java方法重载和可变参数,让你代码更灵活,有两下子!

    一个**add**方法 (public int add(int a, int b)):这是一个重载add方法,接受两个整数参数a和b。方法返回这两个整数和。...方法重载:Java允许在同一个类中定义多个同名方法,只要它们参数列表不同。这允许你使用同一个方法名执行相似的操作,但操作数据可以有不同数量或类型。...如果需要,可以继续扩展add方法,添加更多重载版本,例如接受四个或更多整数参数版本。小结  这段代码一个很好Java方法重载使用示例,展示了如何定义多个同名方法,但每个方法接受不同数量参数。...代码实例演示下面一个完整示例,演示了Java方法重载和可变参数用法。...--End正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

    26731

    怎样避免开发时深坑

    总是听到刚入行不久程序员这样说:知道自己要实现什么功能,同时处理逻辑和基本语法也都明白,但是就不知道该怎么代码。如果把别人代码给你看,或者有人给你你一些指导,或许你能明白其中思路。...有时我会试着一个朋友解释某个需求,看她对解释理解是否和我需求一致。如果你不想在开发了一半时候才发现自己误解了这个需求,那么在开始时候多花点时间值得。你对问题越了解,就越容易解决它。...请注意处理[1]步骤和[ 1, 2 ]略有不同。这就是为什么要尝试多种不同组合。在这些数据中,有的只存在一个元素;有些浮点数,而不是整数;有些一个元素中有多个数字,有些负数。...通过这种方法,可以很容易发现代码中问题。下面的例子在运行时会检查哪东西。在所有的代码中都会这样做。...不要这样去注释: // 这是一个数组,并且遍历它 // 这是一个变量 试着做一些简要、高级注释,在出问题时候可以帮我搞明白这段代码到底起到什么作用。尤其在处理更复杂问题时非常有用。

    63420

    逆向分析Spotify.app并hook其功能获取数据

    而本文所述就是一个被我遗忘已久项目,而我这篇文章目的就是希望能迫使自己最终完成这个项目。好了,介绍就到这了让我们开始吧。...项目 该项目的目标构建一个Spotify客户端,让它能够学习听曲习惯并跳过一些通常会跳过歌曲。不得不承认,这种需求来自于我懒惰。不想在当我有心情想要听某些音乐时,创建或查找播放列表。...希望库中选择一首歌,然后可以随机播放其他歌曲,并从队列中删除不“flow(节奏与旋律流畅)”歌曲。 为了实现这一点,需要学习某种能够执行此任务模型(在未来帖子中可能更多)。...我们需要做第一件事创建一个定义我们自定义CGEventTapEnable。...让我们试着把它分解一下。 从这个图结构来看,有一个指向顶部节点有许多outgoing edges: ? 正如IDA所建议那样,这是esi(前面描述第二个整数参数)上switch语句。

    1.4K30

    Python快速学习第七天

    property四个参数分别被叫做fget、fset、fdel和doc,如果想要第一个属性,并且有一个文档字符串,可以使用关键字参数方式实现。...如果展开一个列表(或者其他可迭代对象),那么就要进行特殊处理。程序必须遍历所有的子列表(一些可能不是列表),并对它们调用flatten。然后使用另一个for循环产生被展开列表所有元素。...使用list让生成器生成列表所有值。在这种情况下,只有一个位置可行。白色皇后被放置在了如图9-1所示位置(注意颜色没有特殊含义,不是程序一部分)。...这样一程序从前面的皇后得到了包含位置信息元组,并且要为后面的皇后提供当前皇后每种合法位置信息。为了让程序继续运行下去,接下来需要做就是把当前位置信息添加到元组中并传给后面的皇后。...X. . . 9.9 小结 本章介绍了很多魔法方法,下面总结一下。 ☑ 旧式类和新式类:Python中类工作方式正在发生变化。

    2.3K50

    【翻译】30多个短小而又专业最佳安卓开发者建议

    小贴士:看看这篇神奇文章,帮助你做一个更好选择。(剧透 —— 答案 JavaScript ) 5....时候学习 Java 设计模式了 在长远看来,并不能完全阐明这会对你安卓开发生涯有多大影响。任何时刻,你被卡在需要解决某个严重程序问题时候,设计模式着实能帮助你构建一个优雅解决方案。...尝试着学习平面设计 能理解作为一名程序员,你所主要重心点在于学习编写更好代码,这是显而易见。...开始一些测试 没法再强调这个有多重要了。你并不能完全吃透某个特性,除非你用尽心思给它测试。测试能帮助你代码构建出一个信心彼岸。...仔细审查所有你一次性添加第三方类库 在我们需要时候我们都喜欢使用添加类库,这当然没问题。但是,要养成一个习惯,审查你所一次性添加所有的第三方类库,并且移除那些你不再需要库。

    65320

    Swift入门: 数据类型

    意思,“不知道name是什么数据类型,因为你没有给我足够信息。”...你逃不开它,这是一件好事,因为它提供了一种叫做类型安全东西——如果你说“这会保存一个字符串”,然后试着放一只兔子进去,Swift会拒绝。...我们现在可以通过引入另一种重要数据类型Int尝试这一点,Intinteger缩写,整数3、30、300或-16777216这样整数。...试着这个: name = 26 age = "韦弦" 在这段代码中,您试图将一个整数放入一个字符串变量,将一个字符串放入一个整数变量——谢天谢地,Xcode将抛出错误。...你可以看到两个数字都出现在右边,但仔细看,因为有一个微小差异。

    82110

    Java 程序员眼里 Linux 内核 —— wait_event 源码分析

    本篇文章我们就一起了探索它背后知识,然后尝试着和我们日常开发关联起来。...Java 程序员们在这里需要特别注意作用是保护条件队列。回顾我们常 Java 代码,一般这个锁也用来保护谓词,但这个不是必须。...Java 要求我们在调用 wait 时候必须持有锁原因之一,wait 内部会把当前线程加入条件队列;修改列表必须持有锁(另一个原因,wait 语义之一便是执行后会释放锁,如果都不持有,何来释放呢...重要,上面这段代码更简洁,更易读。那么,他正确吗? 不消说,肯定是有问题,不然那班内核程序员不会不知道该这么。那问题究竟出在哪里呢?...也许读者第一次接触内存屏障,但我敢保证,很多 Java 程序员在不知不觉中使用过一定形式上屏障。

    65411

    从安全漏洞看印度国家银行APP为何“技术落后10年”

    发现接收账户必须存在于收款人列表中,如果这个账户不在收款人列表中,转账时屏幕就会弹出错误,要求你将接收账户添加至收款列表中。...而添加一个接收账号到收款列表中会要求输入PIN(MPTIN会在0x05提到)。...在挖掘更深之前,要先解释一下此应用程序身份验证机制。 这里有两个PINs(身份认证PIN[MPIN],交易授权PIN[MTPIN])。...从名字来看就知道你可以用MPIN进行登录,用MTPIN对重要操作进行验证,比如添加一个接收账号到受益人名单中,转义资金,创建一个定期存款,关闭现有的定期存款。...如下面的图片,1303用户ID后4位,列表账户关联其他用户ID。(SB-存款账号,RIP-定期存款)。 如下一个成功交易。

    1.2K70

    滚雪球学Java(15):节约时间,提升效率:掌握JavaSE-while循环语句技巧与窍门

    在方法体中,声明了两个整数变量i和sum,分别用于记录当前遍历到整数和总和。  然后,使用while循环遍历从1到n所有整数。在每一次循环中,将当前整数值累加到sum中,并将i递增1。  ...代码解析:  上述代码一个列表中查找特定元素方法。代码通过一个while循环遍历列表,直到找到目标元素或者遍历完整个列表。具体分析如下:声明一个布尔变量found,并将其初始化为false。...声明一个整数变量i,并将其初始化为0。用于遍历列表索引。进入while循环,条件found为false并且i小于列表大小。...测试方法使用@Test注解进行标记,表示该方法一个单元测试方法。测试方法内部定义了两个List对象list1和list2,并分别初始化为不同整数集合。...--End正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

    10821

    MVP:Android guidelines

    下面是以我观点列出一些指南,你可能不会全部赞同,不过我会试着解释为什么这么做。 1....为了解决这个问题,你需要实现Passive View模式。这种实现方式通过利用一个controller减少view业务行为,在我们例子中,这个controllerpresenter。...presenter用纯java代码实现两个理由:首先你要将具体实现抽象到presenter中,这样的话你就可以不依赖于设备测试代码了(甚至都不需要Robolectric),可以快速在你本地JVM...个人还是喜欢这么一个Presenter接口下面两个简单理由: 不是去为presenter一个接口而是一个Contract类描述view和presenter之间交互。...在contract中presenter添加一个方法恢复视图状态。

    36430

    如何用Python编写一个Lisp解释器

    作者 | Peter Norvig 译者 | Tianyu 编辑 | Freesia 来源 | Python大本营(ID: pythonnews) 这篇文章有两个目的:一展示如何实现一个计算机语言解释器...下面一个示例程序,基于公式 π r2,计算半径为10圆形面积: (define r 10) (* pi (* r r)) 下面一张有关全部表达式表格: Expression(表达式) Syntax...让我们将时间推回到1984年,当时作者正在博士论文。那时还没有 LateX,也没有 Microsoft Word,作者用 troff。...但作者不知道如何将其连在一起,但作者认为,为这个语言一个解释器更容易,所以用 C 写了个解释器。有趣,Tony 用 C 写了个 Lisp 程序,因为他个 C 程序员。...而我写了个 C 程序,因为个 Lisp 程序员。 最后,他们都把工作搞定了。

    1.4K40
    领券