1
00:00:00,090 --> 00:00:04,470
今年我们将讨论如何使用这个聊天应用程序进行调试 

2
00:00:04,500 --> 00:00:10,620
现在, 让我们继续, 让聊天GPT为我们创建一些东西, 然后我们要故意把它弄得一团糟,

3
00:00:10,620 --> 00:00:15,930
只是为了模拟如果我们自己写了一些东西, 可能是不正确的, 或者缺少一行关键的代码或一段逻辑,

4
00:00:15,930 --> 00:00:23,550
我们只是因为我们是人类, 我们容易出错

5
00:00:24,240 --> 00:00:25,860
只是也许你忘了什么, 对吗？

6
00:00:25,860 --> 00:00:31,140
所以让我们看看Chad GPT是否真的可以帮助我们进行调试过程,

7
00:00:31,140 --> 00:00:36,990
并利用问题规范的知识阅读我们的代码, 然后试图找出可能出错的地方

8
00:00:36,990 --> 00:00:39,750
首先, 让我们问它一个有趣的问题 

9
00:00:39,750 --> 00:00:41,910
看看你能不能 

10
00:00:43,160 --> 00:00:44,300
产生 

11
00:00:45,150 --> 00:00:46,470
曼德尔布洛特集 

12
00:00:48,740 --> 00:00:51,200
或者说, 你能生成一个可视化吗？

13
00:00:52,190 --> 00:00:55,130
以巨蟒为背景的摇滚人 

14
00:00:56,150 --> 00:01:05,480
如果你不知道, 这个集合是一个分形, 基本上当你看的时候, 它就像是无限的复杂性

15
00:01:05,480 --> 00:01:09,260
当你继续放大再放大, 它基本上是一个数学函数 

16
00:01:09,350 --> 00:01:12,020
所以它能够做到这一点 

17
00:01:12,020 --> 00:01:15,140
如果你继续复制这里的代码, 这是一些漂亮的代码 

18
00:01:15,140 --> 00:01:21,290
它实际上是在告诉我们, 它为所有的东西都给出了注释, 并告诉我们每一行代码在做什么

19
00:01:21,680 --> 00:01:25,820
但是, 是的, 让我们继续并创建一个文件, 为真正的快速 

20
00:01:25,820 --> 00:01:33,140
所以mandelbrot pi和oop, 我想我是在它还没有生成东西的时候偷的 

21
00:01:33,140 --> 00:01:36,620
所以让我们继续等待, 也完成写作 

22
00:01:36,620 --> 00:01:39,020
所以现在它会继续告诉我们发生了什么 

23
00:01:39,260 --> 00:01:42,440
生成具有500乘500像素的集合的正方形图像 

24
00:01:42,950 --> 00:01:43,580
所以 

25
00:01:44,410 --> 00:01:46,850
我们去把它拿来, 我们运行它 

26
00:01:46,870 --> 00:01:50,170
让我们看看它能给我们带来什么, 而不干扰任何东西 

27
00:01:50,170 --> 00:01:51,910
所以我们知道我们在做什么 

28
00:01:52,150 --> 00:01:53,680
看起来真酷

29
00:01:54,820 --> 00:01:55,060
是的 

30
00:01:55,060 --> 00:01:56,350
这就是曼德尔布罗特集 

31
00:01:56,500 --> 00:01:58,240
我可以放大这里 

32
00:01:58,480 --> 00:02:06,910
正如你所看到的, 它并不是真的无限详细, 因为我没有使尺寸太大, 但这是我可以调整这里的东西

33
00:02:06,940 --> 00:02:09,610
我们来看看能不能把这东西搞砸 

34
00:02:09,610 --> 00:02:09,789
好吧 

35
00:02:09,789 --> 00:02:12,130
所以这是数学中非常关键的一部分 

36
00:02:12,130 --> 00:02:19,150
所以如果我, 让我们说, 搞砸了这个, 让我们说, 一, 我我感兴趣的是它看起来会是什么样子

37
00:02:19,990 --> 00:02:21,520
可能是错的 

38
00:02:21,850 --> 00:02:24,370
是的, 看起来很奇怪 

39
00:02:24,370 --> 00:02:26,040
这绝对不是我们所期望的 

40
00:02:26,190 --> 00:02:29,410
如果我们这么做的话会搞得更糟 

41
00:02:31,040 --> 00:02:31,850
这肯定会 

42
00:02:31,910 --> 00:02:32,630
哦, 是的 

43
00:02:32,810 --> 00:02:34,640
我们已经完全摧毁了它 

44
00:02:34,640 --> 00:02:37,310
所以我们来问吧 

45
00:02:37,310 --> 00:02:42,860
这是我用来显示Mandelbrot集的代码 

46
00:02:44,450 --> 00:02:45,650
有什么不对吗？

47
00:02:49,930 --> 00:02:53,740
然后我们把它复制到这里 

48
00:02:57,090 --> 00:03:02,300
您的代码看起来基本正确, 但是用于计算每个点的迭代序列的公式存在一个小问题

49
00:03:02,310 --> 00:03:06,660
主集合被定义为复数C对序列Z的集合 

50
00:03:06,660 --> 00:03:13,680
乘以N加1等于Z的N的2次方加上C不发散 

51
00:03:13,680 --> 00:03:17,490
这基本上就是这个美丽的分形背后的数学原理 

52
00:03:17,610 --> 00:03:20,760
不过, 它能准确地指出 

53
00:03:20,760 --> 00:03:26,130
所以它说你已经把公式修改成了这个, 这改变了生成的集合的性质

54
00:03:27,060 --> 00:03:31,200
所以如果你能尽快解决这个问题, 它应该能再次给我们正确的答案 

55
00:03:31,200 --> 00:03:34,980
这真的很有趣, 因为它几乎知道我们在做什么 

56
00:03:35,010 --> 00:03:36,300
我们修改了配方 

57
00:03:36,370 --> 00:03:38,070
你的措辞真有趣 

58
00:03:38,250 --> 00:03:44,190
但是, 我们可以看到, 它再次给我们提供了代码, 与之前提供的代码几乎相同

59
00:03:44,190 --> 00:03:50,100
我没看到有什么大的变化, 但是, 我们可以看到, 我们修改过的两个数字,

60
00:03:50,100 --> 00:03:52,170
变成了1 5 这是一个

61
00:03:52,170 --> 00:03:55,260
我相信这些都是恢复正常的速度 

62
00:03:55,260 --> 00:04:01,230
有趣的是, 它能够准确地找出错误, 因为它知道什么是正确的

