当前位置: 首页 > wzjs >正文

招标网站开发深圳企业网站建设收费标准

招标网站开发,深圳企业网站建设收费标准,搜索引擎优化服务,开发工程师网站开发工程师虽然AI编程工具可以提供快速的代码实现,但是在方法实现上往往并不完全符合我们的预期,甚至可能会使用一些非常原始低效的方式来完成。因此,合理的引导提示AI编程工具进行编程,才能写出更为合理高效的代码,这在一定程度…

虽然AI编程工具可以提供快速的代码实现,但是在方法实现上往往并不完全符合我们的预期,甚至可能会使用一些非常原始低效的方式来完成。因此,合理的引导提示AI编程工具进行编程,才能写出更为合理高效的代码,这在一定程度上也说明AI编程并不意味着编程人员无需再学习编程,相反,熟练的编程人员才会更好的引导AI快速实现高效的代码。

下面以一个例子来做说明。比如基于NumPy编写代码,允许用户连续输入一组数据,以0结束,找到平均值最大的连续三个数值,比如输入为:
1,2,3,37,56,23,17,20,30,0 这几个数
输出为:
37,56,23

首先进行的AI编程提示为:

允许用户连续输入一组数据,以0结束,找到平均值最大的连续三个数值,比如输入为:
1,2,3,37,56,23,17,20,30,0 这几个数
输出为:
37,56,23(请使用Python和NumPy完成)

得到的初始代码可能为:

import numpy as npdef find_max_avg_triplet():# 读取输入数据,直到遇到0为止input_data = []while True:num = int(input("请输入一个数字(输入0结束): "))if num == 0:breakinput_data.append(num)if len(input_data) < 3:print("输入的数字不足三个,无法计算。")return# 转换为NumPy数组arr = np.array(input_data)# 初始化最大平均值和对应的索引max_avg = -np.infmax_indices = (0, 1, 2)# 滑动窗口计算每个连续三个数的平均值for i in range(len(arr) - 2):current_triplet = arr[i:i+3]current_avg = np.mean(current_triplet)if current_avg > max_avg:max_avg = current_avgmax_indices = (i, i+1, i+2)# 输出结果result = arr[max_indices[0]:max_indices[2]+1]print("平均值最大的连续三个数值是:", ','.join(map(str, result)))# 调用函数
find_max_avg_triplet()

该代码虽然功能正确,但是在实现上非常原始,没有充分利用NumPy序列的集合式处理优势。如果觉得代码啰嗦,简单的限制代码函数并不一定能实现预期目标。如再次AI编程提示为:

压缩代码控制在10行内

得到的代码为:

import numpy as npdef find_max_avg_triplet():input_data = []while (num := int(input("请输入一个数字(输入0结束): "))) != 0: input_data.append(num)if len(input_data) < 3: return print("输入的数字不足三个,无法计算。")arr = np.array(input_data)max_avg, max_indices = -np.inf, (0, 1, 2)for i in range(len(arr) - 2):if (current_avg := np.mean(arr[i:i+3])) > max_avg: max_avg, max_indices = current_avg, (i, i+1, i+2)print("平均值最大的连续三个数值是:", ','.join(map(str, arr[max_indices[0]:max_indices[2]+1])))find_max_avg_triplet()

该代码相较于以前,确实已有改进,采用了滑窗切片的for循环实现了有效的简化处理,但是其自动去除了连续输入的功能,后期还需要自己替换上去。但是,其核心处理序列的代码是否能更突出NumPy编程特点?

此时,如果自己对该类序列处理有经验,可以明确的引导AI编程工具按照自己指定的思路来完成,如AI编程提示为:

可以考虑不要使用循环,利用每三个切片的滑窗,通过集合式整体处理获取对应每三个切片元素的平均值形成一个array,再利用寻找最大值对应的序号来确定原始三个元素的内容

得到的代码为:

import numpy as npdef find_max_average_triplet(arr):# 将输入转换为numpy数组以便高效处理arr = np.array(arr)# 计算滑动窗口的平均值# 使用卷积来高效计算滑动窗口的和,然后除以窗口大小window_size = 3# 使用valid模式,确保窗口不超出边界sums = np.convolve(arr, np.ones(window_size), mode='valid')averages = sums / window_size# 找到最大平均值的索引max_avg_index = np.argmax(averages)# 对应的原始三个元素triplet = arr[max_avg_index:max_avg_index + window_size]return triplet, averages[max_avg_index]# 示例使用
if __name__ == "__main__":example_array = [1, 3, 5, 7, 9, 2, 4, 6, 8]triplet, max_avg = find_max_average_triplet(example_array)print(f"原始数组: {example_array}")print(f"平均值最大的三个连续元素: {triplet}, 平均值: {max_avg}")

如果觉得不必如此复杂,可以要求简化不必要的语句,再次增加调整提示:

请不要使用函数,去除main代码

得到的代码为:

import numpy as np# 示例数组
example_array = [1, 3, 5, 7, 9, 2, 4, 6, 8]# 将输入转换为numpy数组以便高效处理
arr = np.array(example_array)# 计算滑动窗口的平均值
window_size = 3
sums = np.convolve(arr, np.ones(window_size), mode='valid')
averages = sums / window_size# 找到最大平均值的索引
max_avg_index = np.argmax(averages)# 对应的原始三个元素
triplet = arr[max_avg_index:max_avg_index + window_size]# 输出结果
print(f"原始数组: {example_array}")
print(f"平均值最大的三个连续元素: {triplet}, 平均值: {averages[max_avg_index]}")

这次我们会发现AI灵巧的使用了一个NumPy的卷积函数convolve,自动实现了for循环的滑窗切片,具体对该函数的了解可以直接询问AI。

即使此时不想使用这个convolve函数,也可以再次要求AI编程:

能否不使用convolve函数实现相同的效果

得到的代码为:

import numpy as np# 示例数组
example_array = [1, 3, 5, 7, 9, 2, 4, 6, 8]# 将输入转换为numpy数组以便高效处理
arr = np.array(example_array)# 窗口大小
window_size = 3# 使用列表推导式初始化滑动窗口的和数组
sums = [np.sum(arr[i:i + window_size]) for i in range(len(arr) - window_size + 1)]# 计算平均值
averages = np.array(sums) / window_size# 找到最大平均值的索引
max_avg_index = np.argmax(averages)# 对应的原始三个元素
triplet = arr[max_avg_index:max_avg_index + window_size]# 输出结果
print(f"原始数组: {example_array}")
print(f"平均值最大的三个连续元素: {triplet}, 平均值: {averages[max_avg_index]}")

到此,相关代码已经非常简洁,使用的函数也比较常见,可以符合绝大多数普通练习的要求。从中可以看出,编程人员的准确引导是初始AI代码质量获得提升的关键一步。


文章转载自:

http://O0NR32oU.nqgds.cn
http://LfcThmdx.nqgds.cn
http://0miWAr2o.nqgds.cn
http://O0uvRDpm.nqgds.cn
http://RLEw2ahe.nqgds.cn
http://h1ynKIEx.nqgds.cn
http://0OjLTtGy.nqgds.cn
http://AvSKwNqI.nqgds.cn
http://LK8SDOPx.nqgds.cn
http://zOjltcem.nqgds.cn
http://HhRa1xrv.nqgds.cn
http://EuHMYg0t.nqgds.cn
http://mAwcUuOB.nqgds.cn
http://Si8JCL6k.nqgds.cn
http://lzJ29pLT.nqgds.cn
http://m8UlNvha.nqgds.cn
http://MumNi1wn.nqgds.cn
http://zw3Eu9H0.nqgds.cn
http://HMXrAeYv.nqgds.cn
http://Dr6N03sM.nqgds.cn
http://V2zU8bEV.nqgds.cn
http://yHuLcF4O.nqgds.cn
http://7RMPvksm.nqgds.cn
http://DNC3OheQ.nqgds.cn
http://ZnGcWd6N.nqgds.cn
http://sAJVfz9Z.nqgds.cn
http://yATYiArk.nqgds.cn
http://YBFWraTj.nqgds.cn
http://2vCO3yPs.nqgds.cn
http://4hvsz3FY.nqgds.cn
http://www.dtcms.com/wzjs/744599.html

相关文章:

  • 要建设一个网站需要什么手续费网页优化包括
  • 吉林长春seo网站建设网站优化大连网站建设学校
  • 头条搜索站长平台wordpress 会议
  • 怎样可以免费做网站功能型网页设计
  • 长春火车站有几个软件网站建设的目的
  • 什么可以放置网站内容互动对战平台
  • 巴中网站建设网站推广制作网站好的公司
  • 厦门十家较好的网站建设公司建设酒类产品网站的好处
  • 国外做饮料视频网站北京中交建设工程咨询有限公司网站
  • 个人做网站要注意什么罗湖商城网站设计公司
  • 网站怎么做熊掌号网站建设的平台
  • 网站开发 流程图付费网站建设模板
  • 如何查看一个网站做的外链中国建设银行官网登陆
  • 做平面设计兼职的网站云技术在网站建设中的应用
  • 品牌网站建设 t磐石网络怎么做购物网站的分类目录
  • o2o网站做推广公司wordpress底部加友链
  • 平台网站建设协议运行一个网站的成本
  • 如何做网站家具导购浙江省住房与和城乡建设厅网站
  • 佛山市南海区城乡建设局网站免费的网站模版下载
  • 做外贸 上国外网站软件开发工程师就业前景
  • 免费商城系统网站建设wordpress 插件路由
  • php网站开发技术期末题库网站后台放在哪里
  • 广州建设信息网官方网站网站如何做下载链接
  • 比较好的响应式网站国内开源网站
  • 设计的网站怎么添加域名山西网站建设公司哪家好
  • 广东公司响应式网站建设报价南阳网(网站).
  • 长春建站平台公司注销后网站备案吗
  • 北京网站开发公司排名什么是响应式营销型网站建设
  • 做全景图的网站wordpress的登陆地址修改密码
  • 公司网站维护要做什么舟山建设银行纪念币预约网站