用ChatGPT编写各种脚本

最近几周使用了一下chatgpt,它给我的感觉是眼前一亮,让我直呼牛逼~~提升办公效率的神器~~
与siri这种人工智zhang而言,chatgpt感觉上才是真正的人工智能助手。从聊天上来看能感觉到它几乎已经完全理解了人们说的是什么了(包括中文),且能联系上下文语境,而非孤零零的看待每个问题,这一点我给个大大的赞
(这一点在下面的编程实例上能明显看出来)
经使用发现,除了专业领域的问题之外, 相较于某度和普通的搜索引擎而言,它还是更能给出一个比较令人满意的答案的。
最牛逼的还是属于程序编写方面,chatgpt在各个编程语言上面都挺在行的(尝试了下python, perl, tcl都挺不错的),可以说是一个各个语言都很了解的程序员了。(各种语言都很了解,能信手拈来的人估计不多吧。。。这一点非常佩服它)
对于初学者而言或者一些简单的程序编写而言,它都能给出非常正确的答案,且还会给代码加上注释,也会对程序做出相应的解释,因此应对一些通用的问题而言它是绰绰有余的(程序员即使不会失业但也感到后背发凉~~)。它对小白而言应该也非常友好,如果一些小白想问问题的话,那chatgpt可以说是一个孜孜不倦的老师了,能一直回答各种小白问题的老师估计只有机器了吧~~
另外对于一些非常复杂的问题,它不一定会给出完全正确的答案,但是它的结果还是比较有参考意义的,甚至还能给出一些idea,比如想实现某个功能,想查询是否有哪个已有的库可以实现这个功能,可以直接问chatgpt。
下面用一个问题来看一下chatgpt的回答是否出乎了你的意料:
  h: 麻烦编写一个python脚本对下面的内容可以指定按照年龄或者成绩进行排序。 姓名 年龄 成绩 小明 9 95 小张 10 84 小红 8 99 小李 12 67 小赵 9 87   chatgpt:您可以使用 python 的sorted 函数来对下列数据进行排序。这里是一个示例脚本,该脚本按照年龄或者成绩进行排序,根据指定的关键字进行排序:
students = [ {name: 小明, age: 9, score: 95}, {name: 小张, age: 10, score: 84}, {name: 小红, age: 8, score: 99}, {name: 小李, age: 12, score: 67}, {name: 小赵, age: 9, score: 87}]key = input(请输入排序关键字(age或score): )if key == age: students = sorted(students, key=lambda x: x[age])elif key == score: students = sorted(students, key=lambda x: x[score])else: print(输入错误,请输入age或score)for student in students: print(student[name], student[age], student[score])这个脚本首先将要排序的学生数据存储在一个列表中,然后使用input 函数读取排序关键字(age 或 score)。使用sorted 函数按照指定的关键字进行排序,最后使用一个 for 循环输出排序后的数据。
程序测试结果:
h:麻烦修改上面的程序,同时可以控制正序或者倒序(这个问题能明显判断ai是否理解了上下文语境)
chatgpt: 可以在使用 sorted 函数的时候指定参数 reverse=true 来让排序结果为倒序,参数reverse=false 或不指定时为正序。这里是修改后的代码:students = [ {name: 小明, age: 9, score: 95}, {name: 小张, age: 10, score: 84}, {name: 小红, age: 8, score: 99}, {name: 小李, age: 12, score: 67}, {name: 小赵, age: 9, score: 87}]key = input(请输入排序关键字(age或score): )sorttype = input(请输入排序类型(asc或desc): )if sorttype == asc: reverse = falseelif sorttype == desc: reverse = trueelse: print(输入错误,请输入asc或desc) exit()if key == age: students = sorted(students, key=lambda x: x[age], reverse=reverse)elif key == score: students = sorted(students, key=lambda x: x[score], reverse=reverse)else: print(输入错误,请输入age或score)for student in students: print(student[name], student[age], student[score])这里在之前的程序基础上增加了输入排序类型,然后在对排序关键字进行分支时传入了排序类型,具体实现就是在sorted 中 reverse=reverse 正序/倒序
程序测试结果:
非常棒!!
最精彩的地方来了,可能我们需要编写一些perl, python, tcl脚本,因为chatgpt是知道上下文语境的,所以我们只要输入 “麻烦用perl实现与上面同样的功能”就可以了。
h: 麻烦用perl实现与上面同样的功能
chatgpt: 在 perl 中,可以使用sort 函数来对列表元素进行排序。这里是一个示例程序,它按照年龄或者成绩进行排序,并能正序或倒序排序:use strict;use warnings;my @students = ( { name => 小明, age => 9, score => 95 }, { name => 小张, age => 10, score => 84 }, { name => 小红, age => 8, score => 99 }, { name => 小李, age => 12, score => 67 }, { name => 小赵, age => 9, score => 87 },);print 请输入排序关键字(age或score):;my $key = ;chomp($key);print 请输入排序类型(asc或desc):;my $sorttype = ;chomp($sorttype);my $reverse = $sorttype eq desc ? 1 : 0;if($key eq age){ @students = sort { $a->{age} $b->{age} } @students;}elsif($key eq score){ @students = sort { $a->{score} $b->{score} } @students;}else{ print 输入错误,请输入age或score;}@students = reverse @students if $reverse;for my $student (@students) { print $student->{name}, , $student->{age}, , $student->{score}, ;}这个程序与上面类似,首先将要排序的学生数据存储在一个数组中,然后使用 读取排序关键字和排序类型,按照关键字进行排序。
在排序类型为desc时将数组 reverse 一下就能达到倒序排序的效果了。
程序测试结果:
同样也是非常棒!
接下来测试一下chatgpt是否会tcl语言:
h:麻烦用tcl语言实现同样的功能
chatgpt: 在 tcl 中,可以使用lsort 命令来对列表元素进行排序。这里是一个示例程序,它按照年龄或者成绩进行排序,并能正序或倒序排序:set students { {小明 9 95} {小张 10 84} {小红 8 99} {小李 12 67} {小赵 9 87}}puts 请输入排序关键字(age或score):flush stdoutset key [gets stdin]puts 请输入排序类型(asc或desc):flush stdoutset sorttype [gets stdin]set sorttype [string trim $sorttype]if {$key eq age} { set students [lsort -integer -index 1 $students]} elseif {$key eq score} { set students [lsort -integer -index 2 $students]} else { puts 输入错误,请输入age或score exit}if {$sorttype eq desc} { set students [lreverse $students]}foreach student $students { puts $student}这个程序首先将要排序的学生数据存储在一个列表中,然后使用 gets 函数读取排序关键字和排序类型,按照关键字进行排序。
在排序类型为desc时使用 lreverse 函数来实现倒序排序的效果。
这里 lsort -integer -index 1 指的是以第1个数字进行排序, lsort -integer -index 2 为按照第二个数字进行排序
评价:chatgpt给出的结果是相当令人满意了。
测试结果:完全正确,chatgpt给出结果的速度也非常快


基于纳米孔的DNA计算技术检测microRNA表达模式的方法
AI机器人竞选日本市长,机器人的存在,究竟会不会威胁人类安全?
江苏FM电台频率
隆基拉美可持续发展大会圆满举行
物联网平台业务将迎来大清洗 物联网平台是战略布局必争之地
用ChatGPT编写各种脚本
如何在STM32中收发float数据?
零线电流治理与谐波治理之间有着怎样的联系
深圳自动应答系统,电话语音自动应答系统.
can总线终端电阻 can终端电阻阻值多少
PLC梯形图编程的常见技巧和注意事项
泰克TBS1152B数字示波器的特点及应用优势
为什么频谱分析仪不能观测静电放电等瞬态干扰?
诺基亚“务实”推动O-RAN产品实现,助力O-RAN技术标准走向产业商用
百度提出了一种基于学习的点云定位技术
伺服电机驱动器参数设置的方法与技巧
2021年2月,国内锂电池产业链投扩产项目达15起
Si二极管用的散热性能出色的小型封装“PMDE”评估-PMDE封装的实机评估
一加5什么时候上市?一加5最新消息:别想多了!渲染图是假的,分辨率很怪,但一加5也不是2K屏
索尼无线耳机:无需考虑电量或耳机进水,跟随音乐的节奏尽情律动