Py学习  »  Git

AI插件Github Copilot使用及用它解LeetCode题目

顶级饮水机管理员 • 2 年前 • 433 次点击  
阅读 182

AI插件Github Copilot使用及用它解LeetCode题目

本文已参与好文召集令活动,点击查看:后端、大前端双赛道投稿,2万元奖池等你挑战!

之前提交的github copilot技术预览版申请,今天收到准入邮件,于是安上试一试这个准备把我送去电子厂上班的copy a lot ?

官网及申请地址:copilot.github.com/


小作文包含如下内容:

  • copilot简单介绍
  • 使用python对copilot做些简单使用测试
  • 使用copilot对LeetCode 题目解答

一、copilot简单介绍

image-20210719145925929

github copilot(副驾驶)目前只适用于vscode的扩展插件,它依赖于github数十亿公开代码库的训练而成的AI编码辅助器(包括整行代码提供或函数建议),目前支持数十种编程语言,技术预览版对 Python、JavaScript、TypeScript、Ruby 和 Go 的表现尤其出色。

他的工作原理:通过大量公共代码库对AI模型训练后构建成copilot服务,服务接收来自copilot插件返回的提要编码,并提供代码建议,插件又将来自程序员对建议的采纳性的回传到copilot服务,如此反复强化AI模型。

下图以蔽之:

image-20210719150443888


二、使用python对copilot做些简单使用测试

在vscode插件中我们安上Github Copilot,建一个测试文件Copilot_test.py

image-20210719152837439

1.获取列表的最大和最小值的函数

我们要写的可能看起来是这样的

'''
Function to get the max and min values of a list
'''
def get_max_min(my_list):
    max_value = max(my_list)
    min_value = min(my_list)
    return max_value, min_value
​
def main():
    my_list = [1,2,3,4,5]
    max_value, min_value = get_max_min(my_list)
    print("Max value:", max_value)
    print("Min value:", min_value)
    
if __name__ == "__main__":
    main()
​
复制代码

注释是copilot的关键部分,所有AI的是基于大数据的应用,甚至可以把copilot简单的认为是对github代码库的检索...

max_min

2.一个计算器

calculator

copilot给出的建议允许我们进行选择,通过Alt+[,Alt+]对建议上下查看。

image-20210719164153638

我们可以使用Ctrl+Eeter打开建议结果面板,可以看到对应这些建议,copilot给了我们是10个解决方案

image-20210719164636671


三、使用copilot对LeetCode 题目解答

我们在LeetCode找一题【回文数】,题目如下:

然后我们把题目写到代码注释中

image-20210719165443857

代码区的类也加过来

image-20210719165614176

看起来我们的代码就是这样的,灰色code的copilot给出的建议

image-20210719165941775

我们选择其中一种建议放到LeetCode的执行看看

image-20210719170230672

image-20210719170355312

这个建议似乎不太理想...勇敢牛牛不怕困难,有兴趣的同学可以看看困难模式的题目哦,PS:对于中文的注释不确定copilot能百分之百给出回应。


copilot就像它的名字一样【副驾驶】,正经事还是得你来干,不过未来可能会一个不错的协助工具。


文章有不足的地方欢迎在评论区指出。

欢迎收藏、点赞、提问。关注顶级饮水机管理员,除了管烧热水,有时还做点别的。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/117255
 
433 次点击