چالش پایتون
5.11K subscribers
322 photos
38 videos
26 files
250 links
Website : OnlineCourses.ir

Email : help.onlinecourses@gmail.com

Instagram : instagram.com/pythonchallenge

تعرفه تبلیغات : @pythonchallengeAds

Admin : @onlinecoursesadmin
Download Telegram
#دوره_تکمیلی_پایتون


لیست ها در پایتون(3)


اگر بخواهیم با یک حلقه for یک لیست بسازیم و مقادیرش رو پر کنیم.میتوانیم با تایع append تک تک مقادیر رو وارد لیست کنیم (دستور append هم در بخش مقدماتی باهاش کار کردیم.)

»> List = []
»> for i in range(20):
List.append(3)


»> print List
[3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]


در مثال فوق با دستور append ، بیست مرتبه عدد سه را داخل لیست ای با نام List ریختیم.

میتوانیم برای تولید لیست فوق از روش دیگری هم استفاده کنید و در یک خط این لیست تولید کنیم.مشاهده کنید.

»> List1 = [3 for i in range(20)]
»> List1
[3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]


در مثال فوق داخل کروشه ما حلقه for رو مینویسیم و میگیم بیست بار عدد سه رو تکرار کن.و خروجی هر دو روش یکی خواهد شد.

ما میتوانیم عملیات محاسباتی هم برای ایجاد لیست استفاده کنیم.بعنوان مثال اگر بخواهیم توان دو اعداد رو از بازه صفر تا پنج محاسبه کنیم و داخل یک لیست بریزیم.مشاهده کنید:

»> List2 = [i*i for i in range(5)]
»> List2
[0, 1, 4, 9, 16]


تا الان ما در مورد آرایه های یک بعدی صحبت کردیم،هر زوج کروشه ها نشان دهنده یک بعد از آرایه هستند.برای ساختن یک آرایه چند بعدی هم میتوانیم از لیست های تو در تو استفاده کنیم.بعنوان مثال برای ساخت یک آرایه دو بعدی میتوانیم از دو جفت کروشه که داخل یک کروشه اصلی قرار داره استفاده کنید.مشاهده کنید:

»> array = [[3,4],[5,6]]
»> array
[[3, 4], [5, 6]]


دقت کنید که در لیست دو بُعدی هر یک از ابعاد، یک اندیس دارند بعنوان مثال اگر بخواهیم به بُعد اول دسترسی داشته باشیم از اندیس صفر و برای بُعد دوم از اندیس یک استفاده میکنیم:

»> array[0]
[3, 4]
»> array[1]
[5, 6
]

حالا اگر بخواهیم به هر یک از عناصر در ابعاد دسترسی داشته باشیم باید از دو کروشه استفاده کنیم که کروشه اول بُعد رو مشخص میکنه و کروشه دوم عنصر داخل همون بُعد رو نمایش میده:

»> array[0][1]
4

کد فوق بُعد اول عنصر دوم رو نمایش خواهد داد.به همین صورت میتونیم مقادیر لیست مون رو تغییر بدهیم بعنوان مثال بخواهید عنصر اول بُعد دوم رو به هفت تبدیل کنیم.

»> array[1][0]=7
»> array
[[3, 4], [7, 6]]


طول لیست های دو بعدی برابر هست با تعداد ابعاد آن،بنابراین تابع len در لیست های بالاتر از یک بُعد ؛ تعداد ابعاد را نمایش میده.

»> len(array)
2


🗂 مرکز آموزش پایتون

@pythonchallenge
#متن_کاوی_با_پایتون

معرفی توابع پایتون برای کلمات

🔹 در این بخش یک تعریف کلی از این توابع خواهیم داشت و در بخش های بعدی مثال های رو بیان خواهیم کرد.

1️⃣ کلماتی که با یک حرف خاص شروع خواهند شد.

s.startswith()


2️⃣ کلماتی که با یک حرف خاص به اتمام می رسند.(در بخش قبل مثال زدیم)1

s.endswith()


3️⃣ بررسی 11وجود یک کلمه در داخل رشته با دستور in

T in s


4️⃣ تشخیص حروف بزرگ و کوچک در کلمات و همچنین یافتن کلماتی که با حرف بزرگ شروع خواهند شد.

s.isupper()  ;  s.islower()  ;  s.istitle()


5️⃣تشخیص حروف الفبا یا عدد.

s.isalpha()  ;  s.isdigit()  ;  s.isalnum()


▪️تابع اول برای تشخیص حروف الفبا در رشته می باشد که شامل عدد و کارکترهای خاص نباشد.
▪️تابع دوم تشخیص عدد در رشته می باشد.
▪️و تایع سوم میتونه شامل الفبا و عدد باشد اما کارکترهای خاص مثل فاصله و ... را شامل نخواهد شد.

🔸 خروجی سه تا تابع فوق True یا False می باشد.

🔹 در بخش های بعدی برای هر یک از موارد بالا مثال های خواهیم زد.

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
📌همانطور که قول داده بودیم قرار بود این هفته بصورت قرعه کشی به 5 نفر از دوستان آموزش یادگیری ماشین با پایتون به ارزش ۳۰۰ هزار تومان رو رایگان تقدیم کنیم.

برای شرکت در قرعه کشی نیاز هست فرم زیر رو تکمیل کنید.
نکته مهم اینکه اگر این فرم رو برای بقیه بفرستید (حتما بصورت فوروارد) و اونا هم شرکت کنند شانس شما در برنده شدن در قرعه کشی افزایش پیدا میکنه.

🔗 ثبت نام در قرعه کشی

قرعه کشی توسط ربات و سیستمی برگزار می شود.

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
چالش پایتون pinned «📌همانطور که قول داده بودیم قرار بود این هفته بصورت قرعه کشی به 5 نفر از دوستان آموزش یادگیری ماشین با پایتون به ارزش ۳۰۰ هزار تومان رو رایگان تقدیم کنیم. برای شرکت در قرعه کشی نیاز هست فرم زیر رو تکمیل کنید. نکته مهم اینکه اگر این فرم رو برای بقیه بفرستید…»
🔗هزینه های از این دست برای برخی از آموزش با عناوین جذابی که براش در نظر گرفته میشه بنظرم ارزش نداره. ما تمام این چهار کتابخانه رو در دوره تکمیلی پایتون که کتابخانه ها رو میگیم بصورت رایگان در همین کانال توضیح میدیم اگر مشتاق یادگیری هستید بسم الله...
شرط اول یادگیری تمرین، تمرین و تمرین هستش.

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
چالش پایتون
📌همانطور که قول داده بودیم قرار بود این هفته بصورت قرعه کشی به 5 نفر از دوستان آموزش یادگیری ماشین با پایتون به ارزش ۳۰۰ هزار تومان رو رایگان تقدیم کنیم. برای شرکت در قرعه کشی نیاز هست فرم زیر رو تکمیل کنید. نکته مهم اینکه اگر این فرم رو برای بقیه بفرستید…
📝همین دوره یادگیری ماشین با پایتون رو که مهندس امینی دانشجوی دکتری دانشگاه Ottawa کانادا تدریس کرده و در سایتمون قرار دادیم. از دیدگاه شخصی بنده یکی از بهترین دوره های منتشر شده یادگیری ماشین به زبان فارسی هستش. مفاهیم تئوری کامل بیان شده و بعد از اینکه مفهوم مسائل حل شد، کدنویسی آموزش داده شده و در انتهای آموزش 5 پروژه واقعی یادگیری ماشین پیاده سازی شد. در حالیکه هزینه این آموزش در اکثر مواقع تخفیف 30 تا 60 درصد داشته . و باز از نظر شخصی بنده از لحاظ محتوای خیلی بالاتر از هزینه های بالای برخی از موسسات هستش.

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
چالش پایتون
📝همین دوره یادگیری ماشین با پایتون رو که مهندس امینی دانشجوی دکتری دانشگاه Ottawa کانادا تدریس کرده و در سایتمون قرار دادیم. از دیدگاه شخصی بنده یکی از بهترین دوره های منتشر شده یادگیری ماشین به زبان فارسی هستش. مفاهیم تئوری کامل بیان شده و بعد از اینکه مفهوم…
قرعه کشی چالش یادگیری ماشین انجام شد و برندگان مشخص شدند. به تمام برندگان پیام نحوه تهیه رایگان این آموزش از طریق pv ارسال شده است.

امروز چالش هفتگی مون رو داریم امیدواریم این بار شما برنده چالش ما باشید.

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
#مقدماتی_پایتون

✍️Newlines

پایتون یک راه ساده برای جایگزین کردن n\ دارد: می توان از سه علامت دابل کوتیشن متوالی در ابتدا و انتهای رشته استفاده کرد.
خط های جدیدی که با زدن enter ایجاد شده اند، به صورت اتوماتیک حذف می شوند.

>>> “””Customer: Good morning. 
Owner: Good morning, Sir. Welcome to the national cheese Emporium.”””
‘Customer: Good morning.\nOwner: Good morning, Sir. Welcome to the national cheese Emporium.’


📌 همان طور که می بینید، n\ به صورت اتوماتیک در خروجی نشان داده شده است، دقیقا در جایی که ما enter زده ایم. اگر می خواهید که در خروجی n\ را نبینید از دستور print استفاده کنید.

دقت کنید که یکی از کاربردهای سه تا دابل کوتیشن کنار هم اینه شما میتونید متن چند خطی رو چاپ کنید.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
#مقدماتی_پایتون

✍️خروجی (out put)

📌معمولا برنامه ها، ورودی را دریافت و پردازش می کنند تا خروجی را تولید کنند.
در پایتون، می توانید از تابع print برای تولید خروجی استفاده کنید.

>>> print(1 + 1)
2

>>> print("Hello\nWorld!")
Hello
World!


❗️وقتی یک رشته چاپ می شود، در اطراف آن دابل کوتیشن نمایش داده نمی شود.

⚠️در Python3 شما می توانید با استفاده از sep مشخص کنید که بین حروف یک جمله چه عبارتی قرار بگیرد (مثل space) و با استفاده از end مشخص کنید که پایان جمله چه عبارتی قرار بگیرد.

print("spam", "in", "brain", sep='+', end='!') 
>>>spam+in+brain!


⚠️
print(3+2,3-2)
>>>1 5


کاما در دستور پرینت باعث می شود که 1و5 از هم جدا بشوند.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
#مقدماتی_پایتون

✍️ورودی

برای دریافت ورودی از کاربر در پایتون، شما می توانید از عملکرد input استفاده کنید.

>>> input("Enter something please: ")
Enter something please: This is what\nthe user enters!


بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
🎯 چالش دوم پایتون مقدماتی:

▪️تعداد سوال : سه

▪️تعداد برندگان : 1

🎁 جایزه : دوره مقدماتی پایتون به رایگان

برای شرکت در این چالش باید از طریق لینک زیر به سوال آزمون پاسخ درست داده و سپس بین کاربرانی که تا ساعت ۲۲ امشب پاسخ درست داده باشند قرعه کشی انجام شده و یک نفر برنده خواهد شد.

🔗 لینک شرکت در آزمون

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
#دوره_تکمیلی_پایتون

لیست ها در پایتون(4)

حالا میخواهیم یک مثال برای لیست دو بُعدی با استفاده از حلقه for بزنیم:
میخواهیم یک لیست دو بُعدی شامل اعداد یک بنویسیم و هر بُعد لیست 5 عنصر داشته باشد،اول کد رو ببینید:

»> array1 = [[1 for j in range(5)] for i in range(2)]
»> array1
[[1, 1, 1, 1, 1], [1, 1, 1, 1, 1]]


در مثال فوق از دو حلقه for استفاده کردیم اولین حلقه تعداد عناصر در هر بُعد رو نمایش میده(5) و دومین حلقه هم تعداد ابعاد رو(2) نمایش میده،توجه کنید که حلقه اول مجزا داخل یک کروشه قرار میگیره ولی حلقه دوم فقط داخل کروشه اصلی قرار میگیره

حالا برای ایجاد یک لیست سه بعدی کافیه حلقه دوم رو که تعداد ابعاد نمایش میده عدد سه قرار بدهیم.و ابعاد دیگر هم به همین صورت فقط عدد فانکشن range حلقه دوم تغییر میکنه و همیشه حلقه for ما دوتاست.

حالا یک نکته مهمی که وجود داره، ما تو آموزش مقدماتی گفتیم که از تابع type میاییم نوع عناصر رو مشخص میکنیم،حالا لیست های که تا اینجا گفتیم پایتون ، به چه نوعی میشناسه؟؟؟بیاییم تست کنیم:

»> type(array1)
<type 'list'>


همانطور که در بالا مشاهده میکنید نوع رو بصورت لیست نمایش میده که ما هم چنین انتظاری هم واقعا داشتیم.ولی اگر لازم باشه من حتما بخواهم از نوع آرایه داشته باشم باید چیکار کنم؟

ما در بخش بعدی آموزشون ابزاری رو بهتون معرفی میکنیم که این امکان برای ما به وجود بیاره که بتونیم مقادیری از نوع خود آرایه داشته باشیم و اولین ابزاری که بهتون معرفی میکنیم ابزار numpy هست.این کتابخانه کارایی بسیار بالایی در پایتون داره و اساساً این ابزار نحوه دسترسی جدیدی برای ماتریس ها و آرایه ها برای ما فراهم میکنه.پس در بخش بعدی با همراه باشید....

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
SectionA1.py
1 KB
#دوره_تکمیلی_پایتون

دانلود فایل پایتون بخش اول

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
Section1-Array.pdf
832.1 KB
#دوره_تکمیلی_پایتون

📥 دانلود فایل PDF مباحث آموزش داده شده

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
#متن_کاوی_با_پایتون

معرفی توابع پایتون برای رشته ها


🔹 تو تایپیک قبل در مورد اینکه چه توابعی برای کلمات در پایتون وجود داره رو گفتیم، الان میخواهیم توابع رو برای رشته ها بگیم. باز یک تعریف کلی داریم و مثال ها رو تو بخش های بعدی خواهیم زد.

1️⃣ تبدیل کردن به حروف کوچک و بزرگ رشته ها و همچنین تبدیل یک رشته به حالت titlecase
s.upper()  ;  s.lower()  ;  s.title()


🔹 نکته ای که در توابع بالا نسبت به توابع مربوط به کلمات هست اینه که ما اینجا is رو نداریم. و در واقع اینجا نمیخاییم بررسی کنیم که، آیا رشته ما با حروف بزرگ تشکیل شده یا کوچک.بلکه اینجا کار تبدیل کردن رو انجام خواهیم داد.

2️⃣ جدا کردن کلمات که بارها تو اسلایدهای قبل ازش استفاده کردیم و در بخش های بعدی هم استفاده خواهیم کرد.
s.split()


3️⃣حالا اگر بخواهیم یک سند رو یا یک پارگراف رو بر اساس خطوط جدا کنیم میتونیم از تایع زیر استفاده کنیم.
s.splitlines()


🔹نکته ای که اینجا هست و شاید براتون سوال باشه اینه چطور میتونیم در IDLE پایتون، یک رشته رو در چند خط بنویسیم.برای اینکار کافیه کوتیشن که برای رشته در ابتدا و انتهاش بکار برده میشه بجای یکی از سه تا استفاده کنیم.
>>> s="""how are
you today"""
>>> s
'how are\nyou today'


4️⃣ تابع join برای اتصال رشته ها به هم هست که ما تو بخش های بعدی مثال های خواهیم زد.
s.join()


5️⃣ تابع بعدی برای حذف می باشد وقتی از strip استفاده میکنیم و داخل پرانتر کارکتری رو وارد میکنیم سبب میشه که اون کارکتر از کل رشته حذف بشه و اگر از rsrtip استفاده کنیم از انتهای رشته فقط یک موردش حذف خواهد شد . حالا مثالهای رو در بخش های بعدی خواهید دید.
s.strip()  ;  s.rstrip()


6️⃣ دستور بعدی برای یافتن یک رشته یا کارکتر داخل رشته دیگه استفاده میشه.اگر عبارت داخل پرانتر در رشته بود اندیس شروع اون عبارت رو بعنوان خروجی برمیگردونه. اما یک تفاوت اساسی در rfind وجود داره اینه که در این تابع از سمت راست رشته بررسی رو انجام میده.ما برای این مورد خاص همینجا یک مثال میزنیم
s.find()  ;  s.rfind()


مثال
>>> s1 = "this is really a string example....wow!!!";
>>> s2 = "is";
>>> s1.find(s2)
2
>>> s1.rfind(s2)
5


🔸 خوب تو مثال بالا کاملا تفاوت این دو تابع مشخصه که در rfind از سمت راست بررسی کرد.

7️⃣ آخرین دستور این بخش دستور جایگزینی یا همون replace هست که میاد تو رشته میگرده و اگر عبارت u وجود داشت با v جایگزین خواهد کرد.
s.replace(u,v)


🔘 در آخر باید بگم حتما مثالهای گوناگونی برای این بخش خواهیم زد. تا تمام این توابع، کامل توضیح داده باشیم

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
#متن_کاوی_با_پایتون

مثالهای گوناگون

🔹 تابع split بصورت پیش فرض رشته ها رو از طریق space یا همون فاصله جدا میکنه و کلمات رو استخراج میکنه، اما ما میتونیم داخل پرانتز کارکتر دلخواه خودمون رو بعنوان میعار جدا کردن در نظر بگیریم. مثال زیر رو ببنید:

>>> text4 = "ouagadougou"
>>> text5 = text4.split('ou')
>>> text5
['', 'agad', 'g', '']


▪️خوب در مثال بالا رشته رو بر اساس کارکتر ou جدا کرد.دقت کنید که ما text4 رو نمیتونیم بر اساس میعار فاصله جدا کنیم چون هیچ فاصله ای در این رشته وجود نداره و اگر داخل پرانتر دستور split خالی باشه به ارور خواهیم خورد.

🔹 در دوره مقدماتی در مورد لیست صحبت کردیم و اگر بخواهیم text4 رو تبدیل به لیست کنیم کارکتر به کارکتر داخل یک لیست برامون قرار میده.

>>> list(text4)
['o', 'u', 'a', 'g', 'a', 'd', 'o', 'u', 'g', 'o', 'u']


🔹با استفاده از حلقه for هم امکان ایجاد لیست فوق وجود داره، مثال رو ببنید.

>>> [c for c in text4]
['o', 'u', 'a', 'g', 'a', 'd', 'o', 'u', 'g', 'o', 'u']


🔹 حالا اگر بخواهیم دوباره ou رو به text5 متصل کنیم از دستور join برای اینکار استفاده میکنیم.و نحوه استفاده بصورت زیر خواهد بود

>>> 'ou'.join(text5)
'ouagadougou'

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
#مقدماتی_پایتون

مثالی از ورودی گرفتن

⚠️⚠️
s= input(" Enter your name : ")
print(s)
k= input(" Enter your age : ")
print(k)
t= input(" About Yourself: \n")
print(t)

Enter your name : Rishaan
Enter your age : 4
About Yourself:
Positive and Energetic


🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
#مقدماتی_پایتون

✍️تلفیق (ترکیب کردن)

در پایتون کلمه ها از نوع string هستند. با استفاده از یک فرایند به نام concatenation یا تلفیق، می توان دو رشته را با هم ترکیب کرد.

>>>"spam" +'eggs'
'spameggs'

>>>print ("First string" +"," +"second string")
First string, second string


📌اگر رشته های شما دارای اعداد باشند، به عنوان رشته در نظر گرفته می شوند و مانند رشته ها به یکدیگر اضافه می شوند.

❗️ ❗️زمانی که شما یک رشته را به یک عدد اضافه کنید برنامه به شما ارور خواهد داد زیرا این دو از دوحوزه ی متفاوت بوده و نمی توان آنها را باهم جمع کرد.

>>>"2"+"2"
'22'

>>>1+'2'+3+'4'
Traceback(most recent call last) :
File"<stdin>", line 1,in <module >
TypeError:unsupported operand type(s) for : 'int' and 'str'


بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
"Hello" + '....
'Hello world'
Anonymous Quiz
9%
world"
70%
world'
21%
error
کدام گزینه باعث ایجاد error می شود؟
Anonymous Quiz
20%
"7"+'eight'
72%
'5'+6
6%
"one"+"2"
2%
3+4