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