در این مطلب، ویدئو تفاوت بین حلقههای For & while (در پایتون) با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,170 –> 00:00:03,179
سلام من بارون استون از دکتر سن آنتونیو
2
00:00:03,179 –> 00:00:03,810
تگزاس
3
00:00:03,810 –> 00:00:06,029
هستم. گرینر
4
00:00:06,029 –> 00:00:07,620
5
00:00:07,620 –> 00:00:09,630
این هفته در بخش نکات برنامه نویسی خود نوع جدیدی از حلقه حلقه while را به ما معرفی کرد و بنابراین
6
00:00:09,630 –> 00:00:11,070
من می خواستم
7
00:00:11,070 –> 00:00:12,840
تفاوت بین چهار حلقه و حلقه های وحشی
8
00:00:12,840 –> 00:00:14,429
را برای شما نشان دهم تا بهتر متوجه شوید که چه زمانی
9
00:00:14,429 –> 00:00:16,560
مناسب است از هر یک برای مدت و
10
00:00:16,560 –> 00:00:18,119
زمان استفاده کنید. حلقهها دو نوع ساختار برنامهنویسی هستند
11
00:00:18,119 –> 00:00:20,340
که ما را قادر میسازند تا یک
12
00:00:20,340 –> 00:00:22,080
عمل یا یک سری اقدامات را
13
00:00:22,080 –> 00:00:23,820
بارها و بارها انجام دهیم، یکی از
14
00:00:23,820 –> 00:00:26,250
تفاوتهای اصلی این است که حلقه for
15
00:00:26,250 –> 00:00:27,840
از میان آیتمهای یک لیست یا
16
00:00:27,840 –> 00:00:29,820
کاراکترهای یک رشته تکرار میشود و آن را انجام میدهد.
17
00:00:29,820 –> 00:00:32,520
کد حلقه برای هر یک از آن موارد یک بار عمل می کند
18
00:00:32,520 –> 00:00:34,649
و از آنجایی که یک لیست یا
19
00:00:34,649 –> 00:00:36,870
رشته دارای طول محدودی است،
20
00:00:36,870 –> 00:00:39,180
قبل از اجرای حلقه for می دانیم
21
00:00:39,180 –> 00:00:41,010
که بر اساس
22
00:00:41,010 –> 00:00:43,680
طول آن لیست چند بار اجرا می شود و یک حلقه while
23
00:00:43,680 –> 00:00:45,629
در دیگری اجرا می شود. ما نمی دانیم حلقه هایی که قرار است چه مدت
24
00:00:45,629 –> 00:00:47,489
اجرا شوند، این حلقه فقط به
25
00:00:47,489 –> 00:00:49,289
طور مداوم وجود یک شرایط خاص
26
00:00:49,289 –> 00:00:50,969
را بررسی می کند و از آن برای
27
00:00:50,969 –> 00:00:52,140
تعیین اینکه آیا باید
28
00:00:52,140 –> 00:00:54,270
کد حلقه خود را یک بار دیگر اجرا کند یا نه استفاده می کند.
29
00:00:54,270 –> 00:00:56,430
بنابراین برای نشان دادن این دو نوع
30
00:00:56,430 –> 00:00:57,690
حلقه، من قصد دارم عملیاتی را انجام
31
00:00:57,690 –> 00:01:00,000
دهم که با آن بسیار آشنا هستم، می بینید که من
32
00:01:00,000 –> 00:01:01,680
در ارتش هستم و
33
00:01:01,680 –> 00:01:03,120
چیزی که در تمرینات انجام داده ام،
34
00:01:03,120 –> 00:01:06,330
فشار دادن است. مربی مته بر من فریاد می
35
00:01:06,330 –> 00:01:07,950
زند که پایین بیاورم و به آنها 20
36
00:01:07,950 –> 00:01:10,080
فشار فشار بدهم، می توانید آن را به حلقه
37
00:01:10,080 –> 00:01:12,570
38
00:01:12,570 –> 00:01:14,520
39
00:01:14,520 –> 00:01:16,619
for ربط دهید.
40
00:01:16,619 –> 00:01:18,360
من تا زمانی که به عدد 20 برسم، به انجام تمرینات فشاری ادامه میدهم،
41
00:01:18,360 –> 00:01:21,240
بنابراین وقتی هر عملیات را کامل میکنم، با صدای بلند میشمارم
42
00:01:21,240 –> 00:01:24,360
پایین 1 پایین
43
00:01:24,360 –> 00:01:28,920
بالا 2 پایین 3 و این کار را
44
00:01:28,920 –> 00:01:31,860
تا رسیدن به هدف 20 ادامه میدهم.
45
00:01:31,860 –> 00:01:35,850
وانمود کنید که 19 پایین به بالا 20 بود و به عنوان یک
46
00:01:35,850 –> 00:01:38,189
حلقه for هنگامی که من 20 را زدم،
47
00:01:38,189 –> 00:01:40,680
انجام دادن فشارهای فشاری را متوقف می کنم، هرگز بیشتر از
48
00:01:40,680 –> 00:01:42,240
آن 20 بار فشاری انجام نمی دهم زیرا
49
00:01:42,240 –> 00:01:44,220
هیچ فشاری رایگان دریافت نمی کنید. بنابراین
50
00:01:44,220 –> 00:01:47,670
بیایید در کد در این
51
00:01:47,670 –> 00:01:50,159
برنامه به آن نگاه کنیم، من از یک حلقه for برای تکرار روی
52
00:01:50,159 –> 00:01:52,560
یک لیست و انجام 20 فشار
53
00:01:52,560 –> 00:01:54,479
خود استفاده می کنم و می توانید اینجا را ببینید که من لیست خود را توسط u ایجاد کرده ام.
54
00:01:54,479 –> 00:01:56,549
تابع محدوده را بخوان تا
55
00:01:56,549 –> 00:01:59,189
لیستی از 20 آیتم باشد که اعداد 1
56
00:01:59,189 –> 00:02:01,259
تا 20 هستند، حلقه for
57
00:02:01,259 –> 00:02:03,329
از طریق این لیست تکرار می شود و برای هر من در
58
00:02:03,329 –> 00:02:05,130
لیست یک بار کد حلقه را اجرا می کند
59
00:02:05,130 –> 00:02:07,409
و در انجام این کار طول می کشد. آن آیتم را
60
00:02:07,409 –> 00:02:09,598
از لیست و به متغیر شمارش من اختصاص دهید،
61
00:02:09,598 –> 00:02:11,760
بنابراین بار اول که این حلقه
62
00:02:11,760 –> 00:02:13,830
تکرار می شود، به سمت بالا چاپ می شود
63
00:02:13,830 –> 00:02:15,690
و اولین مورد در لیست من یکی است، بنابراین
64
00:02:15,690 –> 00:02:17,820
بار دوم یکی را فریاد می زنم که به
65
00:02:17,820 –> 00:02:20,160
سمت بالا چاپ می شود. و آیتم بعدی در
66
00:02:20,160 –> 00:02:22,440
لیست من دو است، بنابراین من فریاد می زنم دو و
67
00:02:22,440 –> 00:02:24,720
غیره و غیره، پس بیایید جلو برویم و
68
00:02:24,720 –> 00:02:26,760
این کد را اجرا کنیم، می توانید ببینید که همانطور که
69
00:02:26,760 –> 00:02:29,670
انتظار می رود من تمام 20 فشار خود را
70
00:02:29,670 –> 00:02:32,490
انجام می دهم، چیزی که می خواهم به آن اشاره کنم. در اینجا این است که
71
00:02:32,490 –> 00:02:34,110
مهم نیست که چند بار این
72
00:02:34,110 –> 00:02:37,890
برنامه را اجرا می کنم، من همیشه دقیقاً 20 فشار انجام می
73
00:02:37,890 –> 00:02:38,400
74
00:02:38,400 –> 00:02:40,650
دهم، مگر اینکه بخواهم کاری مانند
75
00:02:40,650 –> 00:02:42,390
درج عبارت break در داخل حلقه for خود انجام
76
00:02:42,390 –> 00:02:45,210
دهم، هرگز کمتر از
77
00:02:45,210 –> 00:02:47,070
تعداد آیتم های موجود در آن اجرا نمی شود. لیست من و
78
00:02:47,070 –> 00:02:48,630
مهمتر از آن هرگز
79
00:02:48,630 –> 00:02:50,430
کد حلقه را بیش از تعداد
80
00:02:50,430 –> 00:02:53,160
آیتم های موجود در من اجرا نمی کند بنابراین از آنجایی که ما همیشه می دانیم
81
00:02:53,160 –> 00:02:55,110
که این حلقه دقیقاً
82
00:02:55,110 –> 00:02:57,750
20 بار اجرا می شود، می توانم این برنامه را بازنویسی کنم
83
00:02:57,750 –> 00:02:59,880
تا اصلاً از حلقه for استفاده نکنم
84
00:02:59,880 –> 00:03:02,700
تا این کار را انجام دهم که به سادگی این
85
00:03:02,700 –> 00:03:04,530
چهار خط را از خارج از کد حلقه کپی می کنم و به
86
00:03:04,530 –> 00:03:07,110
صراحت آنها را 20 تکرار می کنم. بارها و فقط
87
00:03:07,110 –> 00:03:09,330
هر بار تغییراتی در این متغیر تعداد اعمال
88
00:03:09,330 –> 00:03:12,120
کنید، بنابراین اجازه دهید
89
00:03:12,120 –> 00:03:15,060
نمونهای از آن را به شما نشان دهم در اینجا یک
90
00:03:15,060 –> 00:03:17,160
نسخه unrolled از آن برای حلقه ایجاد
91
00:03:17,160 –> 00:03:18,930
کردهام، ما فقط به جایی که آن
92
00:03:18,930 –> 00:03:20,670
چهار خط کد را از داخل حلقه برداشتهام نگاه کردیم.
93
00:03:20,670 –> 00:03:23,360
و من آنها را 20 بار تکرار کرده ام و
94
00:03:23,360 –> 00:03:25,560
هر بار به جای استفاده از آن متغیر شمارش،
95
00:03:25,560 –> 00:03:27,720
می توانید ببینید که من فقط به لیست محدوده خود اشاره می کنم
96
00:03:27,720 –> 00:03:29,820
و اولین بار که
97
00:03:29,820 –> 00:03:31,980
آیتم صفر را دفعه بعد
98
00:03:31,980 –> 00:03:34,709
اولین مورد را فهرست می کنم و به همین ترتیب تا پایین
99
00:03:34,709 –> 00:03:36,510
نوزدهمین مورد که آخرین مورد در آن
100
00:03:36,510 –> 00:03:39,150
لیست است و بنابراین می توانید ببینید که اگر این
101
00:03:39,150 –> 00:03:42,150
کد را اجرا کنم دقیقاً همان عملکرد را دارد،
102
00:03:42,150 –> 00:03:43,800
باید بگویم که دقیقاً
103
00:03:43,800 –> 00:03:46,380
همان خروجی حلقه for من را می دهد اما به وضوح
104
00:03:46,380 –> 00:03:49,140
نوشتن را می دانید که 40 خط کد
105
00:03:49,140 –> 00:03:53,640
اینطور نیست. بهینه با یک مدت e به جای
106
00:03:53,640 –> 00:03:55,470
اینکه مشخص
107
00:03:55,470 –> 00:03:57,269
کنم قبل از شروع چند حرکت فشاری انجام خواهم داد، فقط
108
00:03:57,269 –> 00:03:59,010
باید هل دادن را شروع کنم و
109
00:03:59,010 –> 00:04:00,959
تا زمانی که آن شرایط خاص
110
00:04:00,959 –> 00:04:03,030
برآورده شود، به هل دادن ادامه می دهم و در نهایت می توانم متوقف کنم، بنابراین شما می توانید
111
00:04:03,030 –> 00:04:04,260
این را به زمانی که مربی تمرین
112
00:04:04,260 –> 00:04:06,840
می گوید مرتبط کنید. من تا زمانی که او خسته شود، فشار را انجام دهم،
113
00:04:06,840 –> 00:04:09,720
بنابراین در این صورت به
114
00:04:09,720 –> 00:04:12,150
موقعیت فشار می روم و بررسی می کنم که آیا او خسته
115
00:04:12,150 –> 00:04:14,390
است
116
00:04:15,940 –> 00:04:19,238
یا نه، نه فکر نمی کردم، بنابراین
117
00:04:19,238 –> 00:04:21,550
اکنون که یک بار تکرار را کامل کرده
118
00:04:21,550 –> 00:04:23,320
ام، فشار آپم را انجام می دهم. دوباره بررسی کنید که آیا او اکنون خسته است،
119
00:04:23,320 –> 00:04:29,470
نه هنوز خسته نشده است، بنابراین من مجبور شدم
120
00:04:29,470 –> 00:04:31,330
یک فشار دیگر انجام دهم و این
121
00:04:31,330 –> 00:04:33,880
روند را ادامه می دهم تا زمانی که در نهایت این شرط
122
00:04:33,880 –> 00:04:35,710
برآورده شود که مربی دریل
123
00:04:35,710 –> 00:04:42,240
خسته است و من می توانم یک چیز را متوقف کنم.
124
00:04:42,240 –> 00:04:44,620
خارج از این است که من فقط
125
00:04:44,620 –> 00:04:46,090
وضعیت
126
00:04:46,090 –> 00:04:48,280
مربی مته را در بالای فشار خود بررسی می کنم
127
00:04:48,280 –> 00:04:49,810
، در اواسط
128
00:04:49,810 –> 00:04:52,000
عملیات فشار بالا بررسی نمی کنم، بنابراین اگر
129
00:04:52,000 –> 00:04:53,710
در لحظه ای که
130
00:04:53,710 –> 00:04:55,750
مربی گرفتار شد، در وضعیت پایین بودم. خسته، باید آن فشار را
131
00:04:55,750 –> 00:04:57,910
کامل کنم قبل از اینکه بتوانم آن را انجام دهم
132
00:04:57,910 –> 00:04:59,590
بررسی کنید تا مشخص شود که او خسته است
133
00:04:59,590 –> 00:05:01,900
و من می توانم فشار را رها کنم، بنابراین بیایید به این موضوع نگاه
134
00:05:01,900 –> 00:05:05,350
کنیم که در برخی از کدهای این برنامه، من
135
00:05:05,350 –> 00:05:07,510
قصد دارم تا زمانی که Sarge خسته شود، فشارهای فشاری انجام دهم،
136
00:05:07,510 –> 00:05:09,730
بنابراین می توانید در اینجا ببینید که من
137
00:05:09,730 –> 00:05:12,160
دو متغیر تعریف کرده ام. برای نشان دادن
138
00:05:12,160 –> 00:05:14,500
اینکه آیا سارج بیدار است یا نه و
139
00:05:14,500 –> 00:05:16,270
آیا یک مقدار درست تعیین می کند که نشان می دهد
140
00:05:16,270 –> 00:05:18,790
او واقعاً بیدار است و من همچنین یک
141
00:05:18,790 –> 00:05:20,350
متغیر شمارش در اینجا برای پیگیری
142
00:05:20,350 –> 00:05:22,900
تعداد فشارهایی که انجام داده ام دارم، بنابراین قسمت بعدی
143
00:05:22,900 –> 00:05:24,400
کد من این است. حلقه while من و
144
00:05:24,400 –> 00:05:26,740
زمانی که این حلقه while اجرا
145
00:05:26,740 –> 00:05:28,690
شد، با بررسی شرایط متغیر من شروع
146
00:05:28,690 –> 00:05:30,910
میشود که Sarge awake است و اگر
147
00:05:30,910 –> 00:05:33,280
درست ارزیابی شود، بنابراین Sarge awake است
148
00:05:33,280 –> 00:05:34,300
، یک فشار به بالا انجام میدهم،
149
00:05:34,300 –> 00:05:37,210
بنابراین بیایید به سمت پایین پرینت بگیریم، من افزایش میدهم.
150
00:05:37,210 –> 00:05:38,590
شمارنده من چون فشار بالا را کامل کرده
151
00:05:38,590 –> 00:05:40,960
ام و آن شمارش را فریاد می زنم و سپس
152
00:05:40,960 –> 00:05:42,580
در اینجا می توانید ببینید که به طور تصادفی
153
00:05:42,580 –> 00:05:44,500
بررسی می کنم که آیا Sarge به خواب می رود یا خیر،
154
00:05:44,500 –> 00:05:47,260
بنابراین در این کد من
155
00:05:47,260 –> 00:05:49,390
آن را با انتخاب یک نشان می دهم اعداد تصادفی بین
156
00:05:49,390 –> 00:05:52,240
0 و 99 و بررسی اینکه آیا
157
00