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