در این مطلب، ویدئو پایتون الهام گرفته از APL! با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:12:41
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,320 –> 00:00:02,080
به یک ویدیوی راه حل گزارش کد خوش آمدید
2
00:00:02,080 –> 00:00:04,080
نام من کانر است و در ویدیوی امروز
3
00:00:04,080 –> 00:00:05,839
ما کاری را انجام می دهیم که
4
00:00:05,839 –> 00:00:06,720
برای چند ویدیوی گذشته انجام می دادیم،
5
00:00:06,720 –> 00:00:08,800
اما به ترتیب معکوس، بنابراین می
6
00:00:08,800 –> 00:00:10,800
خواهیم مشکلی را در مورد نشت کد حل
7
00:00:10,800 –> 00:00:12,400
کنیم. مشکل ساده است و
8
00:00:12,400 –> 00:00:15,040
ابتدا آن را در apl
9
00:00:15,040 –> 00:00:16,160
که زبان برنامه نویسی مورد علاقه من است
10
00:00:16,160 –> 00:00:17,520
حل می کنیم و سپس
11
00:00:17,520 –> 00:00:19,520
آن را در پایتون حل می کنیم و می بینیم که چگونه
12
00:00:19,520 –> 00:00:22,160
حل آن در apl می تواند
13
00:00:22,160 –> 00:00:24,880
بر نحوه نوشتن کد در زبان های دیگر تأثیر
14
00:00:24,880 –> 00:00:27,599
بگذارد. مشکل طولانیترین پیشوند رایج
15
00:00:27,599 –> 00:00:29,119
است، میگوید تابعی بنویسید که
16
00:00:29,119 –> 00:00:31,279
طولانیترین رشته پیشوند مشترک را در
17
00:00:31,279 –> 00:00:32,960
میان آرایهای از رشتهها پیدا کند، اگر پیشوند مشترکی وجود نداشته باشد،
18
00:00:32,960 –> 00:00:35,040
یک رشته خالی را برگردانید،
19
00:00:35,040 –> 00:00:36,559
به عنوان مثال، اگر به ما سه کلمه داده شود
20
00:00:36,559 –> 00:00:38,960
flower flow و پرواز
21
00:00:38,960 –> 00:00:41,200
پیشوند مشترک در بین این سه
22
00:00:41,200 –> 00:00:42,000
کلمه
23
00:00:42,000 –> 00:00:43,920
fl است پس این چیزی است که ما برمی گردانیم و در
24
00:00:43,920 –> 00:00:45,120
مثال دوم اینجا به
25
00:00:45,120 –> 00:00:47,200
ما ماشین مسابقه سگ و ماشین داده می شود و
26
00:00:47,200 –> 00:00:49,120
هیچ پیشوند مشترکی در اینجا وجود ندارد،
27
00:00:49,120 –> 00:00:51,120
بنابراین ما فقط یک رشته خالی را
28
00:00:51,120 –> 00:00:52,160
29
00:00:52,160 –> 00:00:55,120
برمی گردانیم، بنابراین اجازه دهید به ویرایشگر apl ride خود برویم و این مشکل را حل کنیم. ابتدا در apl
30
00:00:55,120 –> 00:00:55,520
31
00:00:55,520 –> 00:00:57,520
و سپس ما آن را در پایتون حل می کنیم،
32
00:00:57,520 –> 00:00:58,719
33
00:00:58,719 –> 00:01:01,920
بنابراین در اینجا ما در ویرایشگر apl
34
00:01:01,920 –> 00:01:03,359
35
00:01:03,359 –> 00:01:04,559
36
00:01:04,559 –> 00:01:06,640
ride خود هستیم، اگر می خواهید این ها را دانلود کنید
37
00:01:06,640 –> 00:01:08,080
و با آن بازی کنید، لینک هایی را در توضیحات برای هر دو دیالوگ apl و ride می گذارم.
38
00:01:08,080 –> 00:01:10,640
همچنین می توانید به trypl.org بروید
39
00:01:10,640 –> 00:01:12,400
که اساساً فقط یک ویرایشگر وب است
40
00:01:12,400 –> 00:01:13,040
که
41
00:01:13,040 –> 00:01:14,400
برای
42
00:01:14,400 –> 00:01:16,640
شروع و شروع به بازی با apl نیازی نیست کاری انجام دهید،
43
00:01:16,640 –> 00:01:17,920
اما اولین کاری که می خواهیم
44
00:01:17,920 –> 00:01:20,000
در اینجا با لیست رشته های خود انجام دهیم.
45
00:01:20,000 –> 00:01:24,040
کلمات uh این است که می خواهیم
46
00:01:24,040 –> 00:01:26,960
این آرایه تودرتو را مرتب کنیم به طوری که
47
00:01:26,960 –> 00:01:31,119
همه آرایه های فرعی uh دارای
48
00:01:31,119 –> 00:01:33,439
اندیس های یکسانی در سراسر رشته باشند، بنابراین می خواهیم
49
00:01:33,439 –> 00:01:34,240
اولین
50
00:01:34,240 –> 00:01:37,360
شاخص هر رشته در آرایه ای باشد
51
00:01:37,360 –> 00:01:38,960
که شاخص دوم هر رشته به یک
52
00:01:38,960 –> 00:01:40,400
آرایه باشد و
53
00:01:40,400 –> 00:01:42,000
بررسی کنیم که آیا
54
00:01:42,000 –> 00:01:44,240
همه آنها یکسان هستند و پیشوند رایگان رایج چیست،
55
00:01:44,240 –> 00:01:46,159
بنابراین اولین کاری که باید انجام دهیم این
56
00:01:46,159 –> 00:01:47,520
است که
57
00:01:47,520 –> 00:01:49,600
از تابعی به نام مخلوط استفاده کنیم و
58
00:01:49,600 –> 00:01:52,159
اساساً همه چیز را قرار می دهد. هر یک از
59
00:01:52,159 –> 00:01:54,159
آرایه ها روی هم به نوعی
60
00:01:54,159 –> 00:01:55,280
عمودی از شکل
61
00:01:55,280 –> 00:01:57,759
uh سپس میتوانیم جابهجایی را انجام دهیم که
62
00:01:57,759 –> 00:01:59,759
اساساً
63
00:01:59,759 –> 00:02:01,280
همان کاری است که نام تابع انجام میشود،
64
00:02:01,280 –> 00:02:03,280
این
65
00:02:03,280 –> 00:02:06,880
ماتریس کاراکترها را جابهجا میکند و سپس
66
00:02:06,880 –> 00:02:08,560
میتوانیم برعکس
67
00:02:08,560 –> 00:02:11,200
مخلوط uh را انجام دهیم که تقسیم شده است و
68
00:02:11,200 –> 00:02:12,879
اساساً برعکس عمل میکند.
69
00:02:12,879 –> 00:02:14,640
اختلاط از
70
00:02:14,640 –> 00:02:18,400
یک آرایه تو در تو از جریان و پرواز گل
71
00:02:18,400 –> 00:02:22,239
به ماتریسی از انواع کاراکترها تبدیل شد
72
00:02:22,239 –> 00:02:25,840
و سپس آن را جابهجا کردیم و سپس مخلوط
73
00:02:25,840 –> 00:02:28,080
یا تقسیم اساساً
74
00:02:28,080 –> 00:02:30,319
به یک آرایه تودرتو برمیگردد، بنابراین اکنون
75
00:02:30,319 –> 00:02:33,840
هر یک از شاخصهای سراسر رشتهها
76
00:02:33,840 –> 00:02:36,640
در آرایهای از آرایه تودرتو که
77
00:02:36,640 –> 00:02:38,959
بسیار عالی است، زیرا در این صورت میتوانیم
78
00:02:38,959 –> 00:02:40,720
اساساً بررسی کنیم که آیا هر یک از آنها
79
00:02:40,720 –> 00:02:42,239
80
00:02:42,239 –> 00:02:44,400
با یکدیگر برابر هستند یا خیر و
81
00:02:44,400 –> 00:02:45,920
سپس این تعداد را از یکی از آنها بگیریم. رشتهها،
82
00:02:45,920 –> 00:02:47,920
بنابراین در این مرحله،
83
00:02:47,920 –> 00:02:50,560
من در توضیح بحثی
84
00:02:50,560 –> 00:02:52,480
را که انجام دادم پیوند میدهم که در واقع
85
00:02:52,480 –> 00:02:55,280
کاملاً بر چگونگی دوست داشتن هشت
86
00:02:55,280 –> 00:02:56,959
روش مختلف برای بررسی اینکه آیا همه
87
00:02:56,959 –> 00:02:57,920
88
00:02:57,920 –> 00:03:02,159
عناصر یک آرایه یا یک رشته مساوی هستند تمرکز میکند
89
00:03:02,159 –> 00:03:05,120
. در اینجا زمان زیادی را صرف توضیح
90
00:03:05,120 –> 00:03:05,840
آن نکنید،
91
00:03:05,840 –> 00:03:07,040
راههای مختلفی برای
92
00:03:07,040 –> 00:03:09,120
انجام آن وجود دارد، اولی
93
00:03:09,120 –> 00:03:11,599
این است که اساساً اولین
94
00:03:11,599 –> 00:03:13,440
عنصر هر یک از رشتههای خود را بردارید
95
00:03:13,440 –> 00:03:16,560
و سپس بررسی کنید که آیا برابر با
96
00:03:16,560 –> 00:03:19,200
همه عناصر موجود است یا خیر. رشته شما، بنابراین
97
00:03:19,200 –> 00:03:20,720
این اساساً یک ماسک به شما نشان می دهد که
98
00:03:20,720 –> 00:03:24,000
هر یک از عناصر
99
00:03:24,000 –> 00:03:25,680
یا کاراکترهای رشته شما برابر
100
00:03:25,680 –> 00:03:27,280
با اولین کاراکتر آن رشته هستند، بنابراین
101
00:03:27,280 –> 00:03:29,360
می توانید برای fff ببینید و
102
00:03:29,360 –> 00:03:31,680
ما سه مورد را دریافت می کنیم که همه
103
00:03:31,680 –> 00:03:33,200
اساساً هستند. درست است، اما برای همه شخصیتهای
104
00:03:33,200 –> 00:03:34,000
دیگر،
105
00:03:34,000 –> 00:03:36,799
ما نداریم که همه شخصیتها
106
00:03:36,799 –> 00:03:38,080
با هم برابر باشند
107
00:03:38,080 –> 00:03:40,080
، بنابراین در این مرحله میتوانیم
108
00:03:40,080 –> 00:03:42,159
کاری به نام منطقی و کاهشی
109
00:03:42,159 –> 00:03:43,840
انجام دهیم که
110
00:03:43,840 –> 00:03:46,000
اگر همه آنها یکی باشند، درست برمیگردد. و سپس
111
00:03:46,000 –> 00:03:48,159
این اساساً یک ماسک به ما نشان می دهد
112
00:03:48,159 –> 00:03:51,120
که کدام یک از کاراکترهای
113
00:03:51,120 –> 00:03:52,959
رشته های ما در هر شاخص با یکدیگر برابر هستند
114
00:03:52,959 –> 00:03:53,920
115
00:03:53,920 –> 00:03:56,959
و در این مثال ما
116
00:03:56,959 –> 00:03:58,560
هیچ شکافی نداریم اما می توانید تصور
117
00:03:58,560 –> 00:04:00,080
کنید که ممکن است به نتیجه ای برسید.
118
00:04:00,080 –> 00:04:02,959
مثل این جایی که چهارم کاراکتر h
119
00:04:02,959 –> 00:04:04,319
در تمام رشتهها یکسان است،
120
00:04:04,319 –> 00:04:05,760
اما سومین کاراکتر
121
00:04:05,760 –> 00:04:08,000
در آن صورت نیست، باید مطمئن شویم
122
00:04:08,000 –> 00:04:09,760
123
00:04:09,760 –> 00:04:13,200
که اساساً یک صفر کردن از هر یک
124
00:04:13,200 –> 00:04:14,959
از موارد
125
00:04:14,959 –> 00:04:17,440
غیرمرتبط در جلو و روشی که انجام میدهیم، انجام میدهیم.
126
00:04:17,440 –> 00:04:18,160
127
00:04:18,160 –> 00:04:21,440
این با انجام یک اسکن منطقی و اوهو است،
128
00:04:21,440 –> 00:04:25,120
بنابراین این در واقع هیچ تاثیری
129
00:04:25,120 –> 00:04:27,680
بر نتیجه ما در این زمان ندارد، اما می توانید
130
00:04:27,680 –> 00:04:28,560
تصور کنید که
131
00:04:28,560 –> 00:04:32,560
اگر به کلمات
132
00:04:32,560 –> 00:04:34,880
برویم و فقط تایپ کنیم چگونه می توانم این کار را مانند گاری و قلعه گاو انجام دهم، فکر می کنم که این کار انجام
133
00:04:34,880 –> 00:04:37,600
134
00:04:41,440 –> 00:04:45,600
135
00:04:45,680 –> 00:04:47,199
خواهد شد. درست کار کنید، بنابراین
136
00:04:47,199 –> 00:04:48,720
شاخص چهارم یک t است،
137
00:04:48,720 –> 00:04:50,479
اما شاخص سوم
138
00:04:50,479 –> 00:04:51,919
در بین کلمات
139
00:04:51,919 –> 00:04:55,199
um یکسان نیست، بنابراین اگر این کار را انجام دهیم و آن را
140
00:04:55,199 –> 00:04:56,240
به کلمات نیز تغییر
141
00:04:56,240 –> 00:04:57,759
دهیم، میتوانید اینجا ببینید که این یک نوع
142
00:04:57,759 –> 00:05:00,000
شناور داریم، اما این یک علامت شناور نیست.
143
00:05:00,000 –> 00:05:02,320
بخشی از پیشوند مشترک ما است، بنابراین با
144
00:05:02,320 –> 00:05:06,560
انجام منطقی و اسکن،
145
00:05:06,720 –> 00:05:09,360
آن یک شناور را صفر می کند
146
00:05:09,360 –> 00:05:11,120
زیرا اساساً اسکن
147
00:05:11,120 –> 00:05:14,240
کاهش می دهد اما نتایج افزایشی را حفظ می کند،
148
00:05:14,240 –> 00:05:16,479
بنابراین در اینجا ما
149
00:05:16,479 –> 00:05:18,560
منطقی را انجام می دهیم و بنابراین اساساً
150
00:05:18,560 –> 00:05:20,560
بررسی می کنیم که آیا همه اینها برابر هستند به یکی
151
00:05:20,560 –> 00:05:22,240
پس
152
00:05:22,240 –> 00:05:24,000
تا زمانی که یکی می شود ما یک صفر می بینیم و بعد از
153
00:05:24,000 –> 00:05:25,919
آن صفر می شود،
154
00:05:25,919 –> 00:05:27,759
بنابراین وقتی این را داریم می توانیم
155
00:05:27,759 –> 00:05:29,440
کلمات خود را برای لحظه حفظ کنیم، تنها کاری که باید
156
00:05:29,440 –> 00:05:30,960
انجام دهیم این است
157
00:05:30,960 –> 00:05:33,919
که تعداد کاراکترها را در
158
00:05:33,919 –> 00:05:35,120
ابتدای هر یک از کاراکترهای خود به دست آوریم. کلماتی که
159
00:05:35,120 –> 00:05:36,800
رایج هستند، بنابراین ما فقط یک جمع
160
00:05:36,800 –> 00:05:38,880
مثبت یا کاهش به اضافه انجام می دهیم که یک مجموع است و
161
00:05:38,880 –> 00:05:40,720
بعد از اینکه این را به دست آوردیم، اساساً می توانیم
162
00:05:40,720 –> 00:05:42,880
163
00:05:43,520 –> 00:05:46,560
یک انشعاب انجام دهیم که در آن
164
00:05:46,560 –> 00:05:48,000
دو حرف
165
00:05:48,000 –> 00:05:50,720
اول هر یک از رشته های خود را برداریم تا ساده ترین
166
00:05:50,720 –> 00:05:52,000
راه برای انجام این کار فقط برای گرفتن
167
00:05:52,000 –> 00:05:54,960
اولین رشته ما است و این یک چنگال است که
168
00:05:54,960 –> 00:05:56,400
من در بسیاری از ویدیوها در مورد آن صحبت کرده ام، بنابراین
169
00:05:56,400 –> 00:05:57,440
ما دو
170
00:05:57,440 –> 00:06:00,000
عملیات یکنواخت یا مغناطیسی داریم که یک
171
00:06:00,000 –> 00:06:01,199
تابع است که فقط یک آرگومان واحد
172
00:06:01,199 –> 00:06:02,160
173
00:06:02,160 –> 00:06:04,319
um می گیرد، بنابراین این کاری است که این یکی انجام می دهد.
174
00:06:04