位置: IT常识 - 正文

Copilot 初体验(pilot coat)

编辑:rootadmin
Copilot 初体验 Copilot 初体验

推荐整理分享Copilot 初体验(pilot coat),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:corso pilota,copilot中文版,pilot coat,copilot手表怎么样,copilot手表怎么样,co-pilot,pilot coat,co-pilot,内容如对您有帮助,希望把文章链接给更多的朋友!

大家好,我是小陆,亚欧大陆的陆。小陆是一个对一切新奇的事物充满了兴趣的人。

GitHub Copilot (https://copilot.github.com/) 是 GitHub 和 OpenAI 合作开发的一个人工智能工具,用户在使用 Visual Studio Code、Microsoft Visual Studio、Vim 或 JetBrains 集成开发环境时可以通过 GitHub Copilot 自动补全代码。GitHub 于 2021 年 6 月 29 日宣布该软件,目前处于技术预览阶段,主要面向 Python、JavaScript、TypeScript、Ruby 和 Go 等编程语言。

据说,在很多情况下,只需要有注释或者函数名称,Copilot 就可以实例完整的代码。好的,那么今天我们来玩一下这个小工具。这里说支持 VS Code 和 VS,作为体验,我们通过 VS Code 做个小测试。

文章目录Copilot 初体验申请开通VS Code 插件下载初体验泰勒展开力扣测试牛顿法五子棋游戏高斯积分公式申请开通

访问它的官网 https://copilot.github.com,申请开通,傻瓜式操作。

Hmm,看起来有 60 天的免费试用,但是 60 天后如果忘记取消了,它就会给你自动续费。我记性不太好,So,听说他对学生是免费的,我们来申请 GitHub 学生包,可免费使用 Copilot。

进入这个网页:https://education.github.com/benefits?type=student,获得学生福利。傻瓜式操作。

OK,DONE。如果搞到了学生包,那么,当我们访问 GitHub Copilot 订阅页面时,会看到 GitHub Copilot 是免费提供的。如果看到还要收费,那么说明不是学生验证没搞好,或者学生验证的没达到免费使用的标准。

学生包除了免费使用 Copilot,还有很多。查看我们的更多的学生包福利:https://education.github.com/pack。

之后,在 GitHub 账号中进行设置,

如果,你的学生认证是有效的,则进入如下界面,否则,你将进入收费界面。只要是看到要收费了,说明你的学生认证没搞好。

一直往下点就好了,图片比较多,就不黏贴了。

VS Code 插件下载Copilot 初体验(pilot coat)

可以参考链接 VS Code for Copilot。

要使用 GitHub Copilot,必须先安装 Visual Studio Code 扩展。如果之前未在 GitHub 帐户中授权 Visual Studio Code,系统将提示在 Visual Studio Code 中登录 GitHub。在 VS code 中登录 GitHub 账号。

授权之后,就可在 VS code 中使用 Copilot 了。

初体验

好,万事俱备,我们现在来做几个小测试。

泰勒展开

作为学计算数学的,先让它给我写一些泰勒展开的代码。我写了一行注释 Taylor expansion of exp(x) around x=0,然后一路狂敲 Tab 和 回车(如果没提示就敲回车,有提示就敲 Tab 接受或者鼠标停留选择下一个提示),它给我写了这样一份代码。

Run 一下,有图有注释,真的 NB。

按 Ctrl+回车,可以进行批量的接受。

力扣测试

记得在 LeetCode 上做过一些题目,我们来做个测试。我在第一行敲下 ### Leetcode 3sum,然后它就把这道题写完了,黏贴到 LeetCode 上面去,AC。

想我辛苦刷题半天,人家秒破。

牛顿法

我写了个牛顿方法,它生成了这样一个代码。

'''Newton's method'''import mathdef newton(f, df, x0, tol=1e-6, maxiter=100): ''' Newton's method ''' x = x0 for _ in range(maxiter): xnew = x - f(x)/df(x) if abs(xnew - x) < tol: return xnew x = xnew return xdef main(): ''' main ''' f = lambda x: x**2 - 2 df = lambda x: 2*x print(newton(f, df, 1.5))if __name__ == '__main__': main()

开头注释采用 ''' 和 ### 都是一样的效果。

五子棋游戏

尝试一下它的 GUI 功能。让它写个五子棋的程序吧。

### Gobang gameimport pygamefrom pygame.locals import *import sysimport timeimport random# Define the size of the chessboardBOARD_SIZE = 15# Define the size of the chessboard gridGRID_SIZE = 40# Define the size of the chessboardBOARD_WIDTH = GRID_SIZE * BOARD_SIZE# Define the size of the chessboardBOARD_HEIGHT = GRID_SIZE * BOARD_SIZE# Define the size of the chessboardMARGIN = 20# Define the size of the chessboardCHESS_SIZE = 20# Define the size of the chessboardCHESS_RADIUS = int(CHESS_SIZE / 2)# Define the size of the chessboardCHESS_OFFSET = int(GRID_SIZE / 2)# Define the size of the chessboardSCREEN_SIZE = (BOARD_WIDTH + 2 * MARGIN, BOARD_HEIGHT + 2 * MARGIN)# Define the size of the chessboardBLACK_CHESS = 1# Define the size of the chessboardWHITE_CHESS = 2# Define the size of the chessboardEMPTY_CHESS = 0# Define the size of the chessboardCHESS_COLOR = { BLACK_CHESS: (0, 0, 0), WHITE_CHESS: (255, 255, 255), EMPTY_CHESS: (255, 255, 255)}# Define the size of the chessboarddef main(): ''' main ''' pygame.init() screen = pygame.display.set_mode(SCREEN_SIZE) pygame.display.set_caption('Gobang') board = Board(screen) board.init_board(screen) while True: for event in pygame.event.get(): if event.type == QUIT: sys.exit() if event.type == MOUSEBUTTONDOWN: if event.button == 1: board.move_chess(screen, event.pos) pygame.display.update()class Board(): ''' Board ''' def __init__(self,screen): ''' init ''' self.board = [] self.screen = screen self.init_board(screen) def init_board(self, screen): ''' init_board ''' self.board = [[EMPTY_CHESS for i in range(BOARD_SIZE)] for i in range(BOARD_SIZE)] screen.fill((255, 255, 255)) for i in range(BOARD_SIZE): pygame.draw.line(screen, (0, 0, 0), (MARGIN, MARGIN + i * GRID_SIZE), (MARGIN + BOARD_WIDTH, MARGIN + i * GRID_SIZE)) pygame.draw.line(screen, (0, 0, 0), (MARGIN + i * GRID_SIZE, MARGIN), (MARGIN + i * GRID_SIZE, MARGIN + BOARD_HEIGHT)) def move_chess(self, screen, pos): ''' move_chess ''' x, y = pos if x < MARGIN or x > MARGIN + BOARD_WIDTH: return if y < MARGIN or y > MARGIN + BOARD_HEIGHT: return x = int((x - MARGIN) / GRID_SIZE) y = int((y - MARGIN) / GRID_SIZE) if self.board[x][y] != EMPTY_CHESS: return self.board[x][y] = BLACK_CHESS pygame.draw.circle(screen, CHESS_COLOR[BLACK_CHESS], (MARGIN + x * GRID_SIZE + CHESS_OFFSET, MARGIN + y * GRID_SIZE + CHESS_OFFSET), CHESS_RADIUS) self.ai_move_chess(screen) def ai_move_chess(self, screen): ''' ai_move_chess ''' x, y = self.get_best_move() self.board[x][y] = WHITE_CHESS pygame.draw.circle(screen, CHESS_COLOR[WHITE_CHESS], (MARGIN + x * GRID_SIZE + CHESS_OFFSET, MARGIN + y * GRID_SIZE + CHESS_OFFSET), CHESS_RADIUS) def get_best_move(self): ''' get_best_move ''' chess_list = [] for x in range(BOARD_SIZE): for y in range(BOARD_SIZE): if self.board[x][y] == EMPTY_CHESS: chess_list.append((x, y)) return random.choice(chess_list)if __name__ == '__main__': main()

这个有点小 bug,需要我们自己再调一调代码。看来 copilot 也有马失前蹄的时候哇。

高斯积分公式### gausian quadratureimport numpy as npimport matplotlib.pyplot as pltdef f(x): return x**2def gausian_quadrature(f, a, b, n): ''' gausian quadrature ''' x = np.linspace(a, b, n) y = f(x) return np.sum(y)def main(): ''' main ''' a = 0 b = 1 n = 100 print(gausian_quadrature(f, a, b, n))if __name__ == '__main__': main()

这个高斯积分公式写得也太忽悠人了吧。再给它一次机会。

### gausian quadratureimport numpy as npimport matplotlib.pyplot as pltfrom scipy.integrate import quadfrom scipy.integrate import dblquaddef f(x): return np.exp(-x**2)def g(x, y): return np.exp(-x**2-y**2)def main(): x = np.linspace(-5, 5, 100) y = f(x) plt.plot(x, y) plt.show() print(quad(f, -np.inf, np.inf)) print(dblquad(g, -np.inf, np.inf, lambda x: -np.inf, lambda x: np.inf))if __name__ == '__main__': main()

虽然是调包,但是看起来靠谱多了。

本文链接地址:https://www.jiuchutong.com/zhishi/300624.html 转载请保留说明!

上一篇:Python实现朴素贝叶斯分类器(用python编写素数)

下一篇:MySQL自增ID用完了怎么办?4种解决方案!(面试官问:mysql 的自增 id 用完了,怎么办?)

  • 企业所得税汇算清缴退税怎么做账
  • 新建厂房装修费是否计入固定资产
  • 嵌入式软件产品即征即退
  • 一般计税方法是全额计税吗
  • 生产成本怎么核实
  • 广告设计公司挣钱吗
  • 零税率和免税一样吗?哪一个更优惠?
  • 汇算清缴常见问题
  • 小规模纳税人能用专票抵税吗
  • 债权投资减值的账务处理
  • 房地产企业广告费扣除基数
  • 土地增值税筹划实战
  • 小规模纳税人开了3%的专票还能享受1%
  • 营改增是初次分配还是再分配
  • 销售方退款回来要怎么处理?
  • 固定资产处理申请
  • 筹建期的行政罚款的账务处理怎么做?
  • 股权变更印花税双方都要交吗
  • 实务操作中的税会差异有哪些?
  • 增值税发票提示文件不匹配
  • 核定征收金额如何确定
  • 通行费如何填报表二
  • 房产转让的房产税怎么算
  • 进项税额异常补税怎么算
  • 免征的税款每月几号申报
  • 办公室租金可以计入办公费吗
  • 无偿转让股权需要交什么税
  • 生产企业先出库后入库
  • 如何以快捷方式打印文件
  • symtray.exe - symtray是什么进程 有何作用
  • 如何修复windows11无法的注册表值
  • 冲减预付账款是什么意思
  • 发票来了冲预付账款怎么记账
  • 收回财政结余资金账务处理
  • icon files
  • vue3项目打包
  • linux 文件修改
  • 讲解如何使用
  • 商业企业积分赠商品如何计算企业所得税
  • 缅甸安达曼海
  • 事业单位财产清查内容包括
  • 固定资产折旧的方法有几种
  • 存货跌价准备是负数表示什么
  • 时点数和时期数 订单量 库存量点击量
  • 环境检测费计入什么科目
  • 前端作业做一个网站
  • js相关知识
  • 权益法下股权投资转让
  • 酒店会计做账流程及内容
  • 税控盘开票日期一般截止到下个月几号
  • 企业贷款利息是多少
  • 漏税处罚
  • pytest conftest
  • 网站的首页文件名是什么
  • 财政拨付注册资本金说明
  • SQL查询数据库中表的某一列
  • 一般纳税人应如何报税
  • 内含报酬率的计算公式Npv
  • 收到银行手续费已做后期收到发票怎么做
  • 关于其他应付款的问题
  • 连锁店会计处理流程
  • 解除职工劳动关系补偿
  • 新公司建账流程及日常业务处理
  • 设置账本应当遵循哪些原则
  • mysql5.6源码安装
  • Linux系统中uniq命令的基本使用教程
  • centos双网卡配置
  • windows怎样设置
  • ubuntu20桌面
  • centos更改文件所有者和组
  • windows7开始菜单不见了
  • jquery 多选
  • 如何限制用户只能使用
  • fragment的replace方法
  • shell脚本数组的用法
  • javascript电商项目
  • python电话本
  • jQuery height()、innerHeight()、outerHeight()函数的区别详解
  • 税务局打来电话
  • 北京出租车发票微信怎么查真伪?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设