今天见识到了deekseek深度思考的优点和强大。
起因是根据评分标准的表格,写一个判断分数的函数:
让其他ai跑,“初三男生”那一列下方的数据总是错误
我的提示词:根据图片写出如下python函数:输入:年级(三个年级对应为1,2,3)、性别、分数;输出:等级(四个等级对应为1,2,3,4)
ai的回答:
def get_seat_forward_bend_rank(grade, gender, score):
table = {
(1, '男'): {
100: 17.6, 95: 15.9, 90: 14.2,
85: 12.3, 80: 10.4, 78: 9.1,
76: 7.8, 74: 6.5, 72: 5.2,
70: 3.9, 68: 2.6, 66: 1.3,
64: 0, 62: -1.3, 60: -2.6,
50: -3.8, 40: -5, 30: -6.2,
20: -7.4, 10: -8.6
},
(1, '女'): {
100: 21.8, 95: 20.1, 90: 18.4,
85: 16.7, 80: 15, 78: 13.7,
76: 12.4, 74: 11.1, 72: 9.8,
70: 8.5, 68: 7.2, 66: 5.9,
64: 4.6, 62: 3.3, 60: 2,
50: 1.2, 40: 0.4, 30: -0.4,
20: -1.2, 10: -2
},
(2, '男'): {
100: 19.6, 95: 17.7, 90: 15.8,
85: 13.7, 80: 11.6, 78: 10.3,
76: 9, 74: 7.7, 72: 6.4,
70: 5.1, 68: 3.8, 66: 2.5,
64: 1.2, 62: -0.1, 60: -1.4,
50: -2.6, 40: -3.8, 30: -5,
20: -6.2, 10: -7.4
},
(2, '女'): {
100: 22.7, 95: 21, 90: 19.3,
85: 17.6, 80: 15.9, 78: 14.6,
76: 13.3, 74: 12, 72: 10.7,
70: 9.4, 68: 8.1, 66: 6.8,
64: 5.5, 62: 4.2, 60: 2.9,
50: 2.1, 40: 1.3, 30: 0.5,
20: -0.3, 10: -1.1
},
(3, '男'): {
100: 21.6, 95: 19.7, 90: 17.8,
85: 15.8, 80: 13.8, 78: 12.4,
76: 11, 74: 9.6, 72: 8.2,
70: 6.8, 68: 5.4, 66: 4,
64: 2.6, 62: 1.2, 60: -0.2,
50: -2.6, 40: -3.8, 30: -5,
20: -6.2, 10: -7.4
},
(3, '女'): {
100: 23.5, 95: 21.8, 90: 20.1,
85: 18.4, 80: 16.7, 78: 15.4,
76: 14.1, 74: 12.8, 72: 11.5,
70: 10.2, 68: 8.9, 66: 7.6,
64: 6.3, 62: 5, 60: 3.7,
50: 2.9, 40: 2.1, 30: 1.3,
20: 0.5, 10: -0.5
}
}
if (grade, gender) not in table:
raise ValueError("Invalid grade or gender")
score_table = table[(grade, gender)]
for s in score_table:
if score >= score_table[s]:
if s >= 90:
return 1
elif s >= 80:
return 2
elif s >= 60:
return 3
else:
return 4
return 4
代码大致含义就是根据年级和性别判断在那一列,再根据分数得出成绩。
然而初三男性在10分到50分的评分数据全部错误了,写成了初一男性的,并且偏了一位
ai给的初三男性:50: -2.6, 40: -3.8, 30: -5, 20: -6.2, 10: -7.4
与实际的初三男性全部不同
实际的初一男性:60: -2.6, 50: -3.8, 40: -5, 30: -6.2, 20: -7.4
推测是由于表格有一定倾斜角度,并且右下角水印影响。
我告诉ai初三男性出错了,他就把错误的地方换成了初二男性
这里我后半句话说错了,应该是写成初一男生
我再告诉写错了,就又写回了初一男生,和第一次错误一样
在我告诉它正确数据前三项后,才改正过来,变成了完全正确的数据
我拿第一次的错误代码和表格图片去问deekseek
它进行了长达三分钟的思考
刚开始,它也识别错了,1.4是正确的,2.6错误
他认为初三男的代码段无误
但紧接着,想到了图片中存在排版错误的可能性
开始沿着这个可能分析:
把不及格部分每一行都检查了一遍,语句太长,全部思考我放会放到文章最后
尽管没有识别出正确的表格,但它还是发现了问题,代码中的数据和表格的对应不上
开始从列转别为行的思考:(语句太长)
一行一行检查:
按照行看后,每个数据与年级、性别对应,分析出了第一个错误的数据,并修改正确
接下来的每行也一一检查
由于图片本身的不清晰,将倒数第二行的-5看成了-6,最后一行看不出来。但这些错误与ai的思考无关,在猜测由于排版问题,从列看无法正确得出结果后,转而从行看,并且分析出了数据正确的位置。
修改后的代码:
五个错误改正了三个,并且正确分析出了数据的位置,后两个数据由于ocr技术,没有得出正确结论。
这强大的功能有些震撼到我了
最后是完整的思考+回答: