InsCode:CSDN的创新代码分享平台,融合AI技术提升编程体验

InsCode AI Chat 能够让你通过聊天的方式帮你优化代码。

一:前言

InsCode 是csdn推出的一个代码分享网站

二、使用 AI 辅助完成代码

下面我们就从实践出发,基于 InsCode 的 AI辅助编程,写Python实现的计算器。

1.基于模板创建项目

这里我们全程使用平台进行编程,从创建项目开始,基于现有模板创建项目的方式,可以帮我们快速构建基础环境。

在填写表单一些基础信息之后,我们点击创建项目。

我们等项目创建完成之后,就会自动进入项目的主界面。在什么代码都不动的情况下,直接点击运行按钮,这时页面右侧会直接运行项目,如果你的项目是 web 应用,则会打开网页预览窗口。

2. 使用 AI 辅助开拓思路

我们可以在编辑器中按下快捷键 Ctrl + L ,呼出InsCode AI Chat,你可以在这里和 Ai 进行文本交互。

比如,在本案例中,我们需要列举几个排序算法,那么,我不想自己思考,我想交给Ai,就可以这样问。

~~~bash 我要用python实现一个交互式的能运行加减乘除的计算器,你有实现思路吗?~~~

如下图所示,我们就可以从 Ai 中得到答案。

Ai 给出了一个实现思路,可能是因为主题比较简单,它甚至在最后直接输出了完整的项目代码。

这个实现的思路和我预期不太一样,那我会给他一些提示,比如,我希望用户依次输入数字、运算符、数字,之后自动输出结果,那么就会是下图所示。

提示:在实际项目中,我们可以使用 Ai 不断优化解决问题的方案,通过丰富需求细节得到自己想要的答案。

3. 使用 AI 辅助生成代码

在InsCode中,我们可以通过写注释的方式让 Ai 帮助生产部分代码。

具体操作为,首先在代码编辑器写出注释,然后选中注释后右键菜单选择完成代码。

~~~bash 实现一个交互式的能运行加减乘除的计算器,用户依次输入数字、运算符、数字,之后自动输出结果 ~~~

这个操作实现了将注释和“继续完成以上代码”发给InsCode AI Chat,之后 AI 会根据当前的项目环境,输出代码和详细解释。

这就相当于是一位有问必答的编程老师,你的问题越是准确,那么你得到的答案越准确。

我们得到的完整代码如下。

~~~python

实现一个交互式的能运行加减乘除的计算器,用户依次输入数字、运算符、数字,之后自动输出结果

while True: num1 = float(input("请输入第一个数字:")) operator = input("请输入运算符:(+,-,*,/或exit退出)") num2 = float(input("请输入第二个数字:"))

if operator == "+": result = num1 + num2 print("计算结果:", result)elif operator == "-": result = num1 - num2 print("计算结果:", result)elif operator == "*": result = num1 * num2 print("计算结果:", result)elif operator == "/": if num2 == 0: print("除数不能为0,请重新输入") else: result = num1 / num2 print("计算结果:", result)elif operator == "exit": breakelse: print("无效的运算符,请重新输入")

~~~

4. 使用 AI 辅助优化代码

从目前发展的趋势来看,我们实际的项目代码必然不会是完全由 Ai 生成。

你还可以把 InsCode AI Chat 当成一位结对编程的同事,帮助你优化代码。

还是以上面的代码为例,我们人为去掉除数不能为零的判断。再选中这部分代码,右键选择优化代码

我们可以看到,AI 通过另一种方式解决的除数为零的问题。

在此代码中,我们定义了一个名为 calculator 的函数,其中包含了一个 while 循环来实现程序的持续运行,同时利用 try-except 来处理可能出现的错误,例如输入无效数字或除数为零。

在函数体内,我们首先输入两个数字和运算符,然后使用 if-elif-else 语句判断运算符的类型,进行相应的计算并输出结果。当输入无效的运算符时,我们会提示用户重新输入。除此之外,当输入无效数字或除数为零时会有对应的错误提示。

最后,在 main.py 文件中调用 calculator 函数来执行计算器程序。

提示:目前 AI 生成代码的风格并不统一,如果你要在实际项目中与运用,则需要注意代码风格问题。

这次生成的完整代码如下。

def calculator(): while True: try: num1 = float(input("请输入第一个数字:")) operator = input("请输入运算符:(+,-,*,/或exit退出)") if operator == "exit": break num2 = float(input("请输入第二个数字:")) if operator == "+": result = num1 + num2 elif operator == "-": result = num1 - num2 elif operator == "*": result = num1 * num2 elif operator == "/": result = num1 / num2 else: print("无效的运算符,请重新输入") continue print("计算结果:", result) except ValueError: print("无效的数字,请重新输入") except ZeroDivisionError: print("除数不能为0,请重新输入")if __name__ == '__main__': calculator()

三、InsCode AI Chat 的使用建议

根据我的体验,建议你这样使用 InsCode AI Chat 。

  1. 尽量拆分问题,精确清晰的问题能提升输出的代码质量;

  2. 反复使用代码优化功能,AI 给出的代码不能保证第一次是最优的,建议不断带着问题优化代码,以提升代码质量;

  3. 使用右键的辅助功能,这样可以让 AI 基于现在所处的项目使用的编程语言分析代码和需求

  4. 不要完全相信 AI 的代码,尽量做参考

四、总结

InsCode AI Chat 功能的加入,使得在校学生可以更容易地学习编程。

只要你的问题足够清晰,就会得到相对满意的结果,当然问题描述需要的是我们的深入思考。

当怎么做变得唾手可得,那么为什么做就变得越来越珍贵。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/209849.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

行业地位失守,业绩持续失速,科沃斯的故事不好讲

特劳特曾在《定位》一书中提到,为了在容量有限的消费者心智中占据品类,品牌最好的差异化就是成为第一,做品类领导者或开创者,销量遥遥领先;其次分化品类,做到细分品类的唯一,即细分品类的第一。…

Elon Musk艾隆・马斯克的聊天机器人Grok上线可以使用啦,为X Premium Plus订阅者推出

艾隆・马斯克旗下的 AI 初创公司X(前身“推特”)开发的 ChatGPT 竞争对手 Grok 已经在 X 平台上正式推出。Grok 是一个基于生成模型 Grok-1的聊天机器人,它能够回答问题并提供最新的信息。与其他聊天机器人不同,Grok 可以实时获取…

Java基础-IDEA下载、卸载、安装、使用

目录 1. IDEA下载2. IDEA卸载3. IDEA安装4. 基本使用 1. IDEA下载 IDEA下载网址 2. IDEA卸载 3. IDEA安装 更改IDEA安装目录 是否创建桌面图标 下一步 success! 4. 基本使用 新建项目 新建模块 新建包 新建Java文件 编写代码 运行测试

【C语言】网络字节序和主机字节序

网络字节序和主机字节序是计算机中字节的两种排序方式,它们主要用于解决不同计算机之间数据通信的问题。 一、网络字节序 也被称为大端字节序,是一种标准的字节序。在网络通信中,如果两台主机的字节序不同,可能会导致数据解释的二…

shell条件测试

1.1.用途 为了能够正确处理Shell程序运行过程中遇到的各种情况,Linux Shell提供了一组测试运算符. 通过这些运算符,shell程序能够判断某种或者几个条件是否成立。 条件测试在各种流程控制语句,例如判断语句和循环语句中发挥了…

数据分析实例:基于电力大数据的中小型企业运营发展分析

前不久,帆软发起了【2023BI数据分析大赛】的活动,老李我也是这个大赛的评委。   今天跟大家分享的是基于电力大数据的中小型企业运营发展分析。 当我们去解读一份数据分析报告时,首先要了解这份报告的主要目的是什么,作者通过分…

class061 最小生成树【算法】

class061 最小生成树【算法】 2023-12-8 11:48:12 算法讲解061【必备】最小生成树 code1 P3366 【模板】最小生成树 // Kruskal算法模版(洛谷) // 静态空间实现 // 测试链接 : https://www.luogu.com.cn/problem/P3366 // 请同学们务必参考如下代码中…

【Linux】:线程(二)互斥

互斥与同步 一.线程的局部存储二.线程的分离三.互斥1.一些概念2.上锁3.锁的原理4.死锁 一.线程的局部存储 例子 可以看到全局变量是所有线程共享的,如果我们想要每个线程都单独访问g_val怎么办呢?其实我们可以在它前面加上__thread修饰。 这就相当于把g…

网络入门---网络编程初步认识和实践(使用udp协议)

目录标题 前言准备工作udpserver.hpp成员变量构造函数初始化函数(socket,bind)start函数(recvfrom) udpServer.ccudpClient.hpp构造函数初始化函数run函数(sendto) udpClient.cc测试 前言 在上一篇文章中我们初步的认识了端口号的作用,ip地址和MAC地址在网络通信时…

Python实现GUI图片浏览程序

Python实现GUI图片浏览程序 下面程序需要pillow库。pillow是 Python 的第三方图像处理库,需要安装才能实用。pillow是PIL( Python Imaging Library)基础上发展起来的,需要注意的是pillow库安装用pip install pillow,导…

【改进YOLOv8】融合可扩张残差(DWR)注意力模块的小麦病害检测系统

1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义: 随着计算机视觉技术的快速发展,深度学习在图像识别和目标检测领域取得了巨大的突破。其中,YOLO(You Only Look O…

TruLens RAG Triad 学习

TruLens RAG Triad 学习 0. 背景1. RAG 三元组2. TruLens 快速入门2-1. 安装依赖2-2. 初始化 OpenAI 认证信息2-3. 获取数据2-4. 创建向量存储2-5. 从头构建自定义 RAG2-6. 设置反馈函数2-7. 构建应用程序2-8. 运行应用程序0. 背景 近年来,RAG 架构已成为为大型语言模型 (LLM…

Nexus搭建npm私库(角色管理、上传脚本)

安装Nexus 官网下载 https://www.sonatype.com/products/sonatype-nexus-oss-download 进入官网下载,最新下载方式需要输入个人信息才能下载了 选择对应的系统进行下载 Windows 推荐也下载 UNIX 版本(Windows 版本配置比较难改) 如果没有下…

Qt 中的窗口类

目录 QWidget 设置父对象 窗口位置 测试代码 窗口尺寸 窗口标题和图标 信号 槽函数 QDialog 常用API QDialog的子类 QMessageBox QFileDialog QFontDialog QFontDialog类的静态API QColorDialog 颜色类 QColor 静态API函数 测试代码 QInputDialog 静态函数…

GPT4停止订阅付费了怎么办? 怎么升级ChatGPT plus?提供解决方案

11月中旬日OpenAI 暂时关闭所有的升级入口之后,很多小伙伴就真的在排队等待哦。其实有方法可以绕开排队,直接付费订阅升级GPT的。赶紧用起来立马“插队”成功!亲测~~~ 一、登录ChatGPT账号 1、没有账号可以直接注册一个,流程超级…

前端使用视频作为背景图的方法

实现思路 通过 video source 引入视频&#xff0c;并对视频播放属性进行设置&#xff0c;再通过 css 使视频覆盖背景即可。 代码 <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>有开发问题可联系作者</title>…

学习git后,真正在项目中如何使用?

文章目录 前言下载和安装Git克隆远程仓库PyCharm链接本地Git创建分支修改项目工程并提交到本地仓库推送到远程仓库小结 前言 网上学习git的教程&#xff0c;甚至还有很多可视化很好的git教程&#xff0c;入门git也不是什么难事。但我发现&#xff0c;当我真的要从网上克隆一个…

SQL事务的开启,提交和回滚

在处理数据库数据的时候会出现一种情况就是我们删除两个关联的表其中一个表的信息&#xff0c;另一个表也需要改动&#xff0c;但是我们SQL语句在同时更改两个表的同时&#xff0c;难免会出现一个表修改成功&#xff0c;另一个出现错误&#xff0c;这时候表与表之间就会出现矛盾…

webrtc网之sip转webrtc

OpenSIP是一个开源的SIP&#xff08;Session Initiation Protocol&#xff09;服务器&#xff0c;它提供了一个可扩展的基础架构&#xff0c;用于建立、终止和管理VoIP&#xff08;Voice over IP&#xff09;通信会话。SIP是一种通信协议&#xff0c;用于建立、修改和终止多媒体…

geolife 笔记:将所有轨迹放入一个DataFrame

单条轨迹的处理&#xff1a;geolife笔记&#xff1a;整理处理单条轨迹-CSDN博客 1 加载数据 import pandas as pd import numpy as np import datetime as dt import osdata_dir Geolife Trajectories 1.3/Data/ 1.1 列出所有文件夹 dirlist os.listdir(data_dir) dirlist…