چالش پایتون
5.12K 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
#بازی_سازی_در_پایتون

رنگ ها

(red,green,blue,alpha)

هنگامی که ما بخواهیم رنگی بسازیم از دستور بالا استفاده میکنیم.ما میتوانیم از سه رنگ قرمز،آبی و سبز رنگ مورد نظرمان را بسازیم.پارمتر چهارم اختیاری است که میزان شفافیت رنگ را میتوانیم مشخص کنیم.همه پارامترها اعدادی بین 0 تا 255 را میگیرند.
همچنین می توانیم با استفاده از متد color در پایتون خودمان یک رنگ بسازیم:

myColor = pygame.Color(255,0,50,100)


اکنون میتوان از متغیر myColor بعنوان یک رنگ استفاده نمود.

شی مستطیل

در pygame یک شی با چهار ویژگی X,Y,Height,Width وجود دارد که شما میتوانید متغیری از نوع آن را تعریف کنید و هر جا که خواستید آنرا تغییر یا از آن استفاده نمایید.

myRect = pygame.Rect(10,20,200,300)


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

رسم اشکال هندسی

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

BLUE=(0,0,255)
RED=(0,255,0)
GREEN=(255,0,0)
—------------------------—
pygame.draw.line(screen,BLUE,(10,60),(60,120))
pygame.draw.circle(screen,BLUE,(300,50),20,0)
pygame.draw.rect(screen,RED,(200,150,100,50))
pygame.draw.ellipse(screen,RED,(300,250,40,80),1)
pygame.draw.polygon(screen,GREEN,((146,0),(191,106),(120,177),(56,77),(0,106)))


اولی رسم خط،دومی دایره،سومی مستطیل،چهارمی بیضی و پنجمی هم چند ضلعی (در اینجا 5 ضلعی)

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

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

کار با متدهای numpy - بخش سوم

با استفاده از متد copy میتوانید از یک آرایه کپی تهیه کنید.نحوه کپی کردن آرایه a7 در a10 بصورت زیر می باشد"
»> a7=np.array([[1,3.5,5,7],[2,4,6,8],[1,1,1,1]])
»> a10 = a7.copy()
»> a10
array([[ 1. , 3.5, 5. , 7. ],
[ 2. , 4. , 6. , 8. ],
[ 1. , 1. , 1. , 1. ]])


متد بعد متد sort کردن می باشه همونطور همه میدونید برای مرتب نمودن استفاده میشه،دقت کنید نحوه استفاده از این متد متفاوت هست با متدهای دیگه،یه مثال میزنیم:
»> a11=np.array([[2,3,4,1],[30,4,5,1]])
»> a12 = np.sort(a11)
»> print a12
[[ 1 2 3 4]
[ 1 4 5 30]]


🔶همانطور که مشاهده میکنید هر سطر آرایه رو بصورت جدا مرتب میکنه،و برای sort هم از دستور np.sort استفاده کردیم.

اگر بخواهیم کلیه عناصر آرایه مون رو در یک آرایه بصورت مرتب شده قرار دهیم .میتوانیم دستور sort را بصورت زیر استفاده کنیم.
»> a13 = np.sort(a11,axis = None)
»> a13
array([ 1, 1, 2, 3, 4, 4, 5, 30])


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

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

@pythonchallenge
📌 متدهای Numpy

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

@pythonchallenge
Forwarded from چالش پایتون
Media is too big
VIEW IN TELEGRAM
📘نام آموزش: آموزش مصورسازی داده با پایتون

مدت زمان : 3 ساعت 15 دقیقه

🎁کد تخفیف 50 درصد : WNR1403

📝توضیحات : این دوره ویدئوی برای مصورسازی داده ها و تکنیک ها و کتابخانه هایی است که می تواند با استفاده از زبان پایتون برای دستیابی به این هدف به کار گرفته شود. هدف نهایی این است که به دانشمندان داده و تحلیل گران نحوه نمایش بصری مجموعه های داده پیچیده با استفاده از پایتون آموزش داده شود. این دوره ویدئویی به معرفی چهار کتابخانه معروف پایتون به نام های numpy, pandas, matplotlib و . seaborn پرداخته شده است که از مهمترین کتابخانه در حوزه یادگیری ماشین، پردازش تصویر و داده کاوی می باشد.

🔗 لینک تهیه آموزش {کلیک کنید}

🗂 مرکز آموزش آنلاین و ویدئویی

🆔 : @pythonchallenge
Please open Telegram to view this post
VIEW IN TELEGRAM
چالش پایتون
Please open Telegram to view this post
VIEW IN TELEGRAM
#دوره_تکمیلی_پایتون

کار با متدهای numpy - بخش چهارم

در این بخش میخواهیم از تاپل برای ساختن آرایه با از ابزار numpy استفاده نماییم:(تو بخش مقدماتی توضیح دادیم تاپل ها داخل پرانتز قرار خواهند گرقت.)
»> import numpy as np
»> a1 = np.array((1,3,5))
»> print a1
[1 3 5]

🔵و برای دو بعدی :
»> a2 = np.array(((1,2),(3,4)))
»> print a2
[[1 2]
[3 4]]


برای ساختن آرایه ای که تمام عناصر آن شامل صفر باشد.با استفاده از متد zeros این کار رو انجام میدهیم.
(دوستانی که با زبان برنامه نویسی متلب کار کردند مطمئنا نحوه کارش رو میدونن)

»> a3 = np.zeros((2,6))
»> print a3
[[ 0. 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0. 0.]]

🔵همانطور که در مثال بالا میبینید یک آرایه با دو سطر و شش ستون با مقادیر صفر پر شده است.
🔴دانشجویانی که تو مسابقه شرکت میکنند میتونند از این متد برای ساخت آرایه اولیه استفاده کنند.

حالا میخواهیم بجای صفر از یک استفاده کنید،برای اینکار بجای zeros از متد ones استفاده کنیم:
»> a4 = np.ones((2,2))
»> print a4
[[ 1. 1.]
[ 1. 1.]]


اگر بخواهیم همزمان دو یا چند آرایه با دو متد ones یا zeros ایجاد کنید کافیه ورودی این آرایه از سه عدد استفاده کنید ، عدد اول تعداد آرایه،عدد دوم سطر و عدد سوم ستون رو مشخص میکنه.ببینید:
»> a5 = np.ones((2,2,3))
»> print a5
[[[ 1. 1. 1.]
[ 1. 1. 1.]]

[[ 1. 1. 1.]
[ 1. 1. 1.]]]


اگر بخواهیم آرایه ای از اعداد متوالی ایجاد کنیم میتوانیم از متد arange بصورت زیر استفاده کنیم:
»> a6 = np.arange(10)
»> print a6
[0 1 2 3 4 5 6 7 8 9]

»> a7 = np.arange(5,10)
»> print a7
[5 6 7 8 9]


یکی از کابردهای متد arange اینه که کار حلقه for رو میتونه انجام بده،یعنی نقطه شروع،پایان و همچنین گام حرکت رو بهش بدیم و برای ما تو یک آرایه چاپ کنه.ببینید:
»> a8 = np.arange(3,11,2)
»> print a8
[3 5 7 9]


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

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

✍️In_Place Operators
📌 به مثال زیر توجه کنید:
>>> x = 2
>>> print(x)
2
>>> x += 3
>>> print(x)
5

در این مثال علاوه بر + می توان «-، *، \» قرار داد.

❗️این قضیه علاوه بر متغیر های از نوع int، برای متغیرهای از نوع string نیز قابل تعمیم است :
>>> x = "spam"
>>> print(x)
spam

>>> x += "eggs"
>>> print(x)
spameggs


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

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

🆔 : @pythonchallenge
x = 4
x *= 3
print (x)
Anonymous Quiz
2%
3
71%
12
27%
64
x = "a"
x *= 3
print(x)
Anonymous Quiz
21%
3a
71%
aaa
8%
3a3a3a
#بازی_سازی_در_پایتون

استفاده از عکس در بازی


لود کردن فایل عکس : برای اینکه ما بازی جذابی داشته باشیم یقیناً می باست از عکس های زیبا هم استفاده کنیم. برای لود کردن یک عکس ابتدا باید فایل عکس را درون یک متغیر بریزیم سپس آن را رسم کنیم:

mypic = pygame.image.load('pic.png')


حالا میتونیم عکس روی صفحه با دستور زیر نمایش بدهیم .توجه هم کنید که متغیر x,y مکان عکس رو مشخص میکنه

screen.blit(mypic, (x, y))


ایجاد وقفه در بازی

ما میتونیم یک شی ساعت تعریف کنیم با استفاده از دستور زیر:

fpsClock = pygame.time.Clock()


سپس در داخل حلقه بازی با مقداردهی به مند tick حلقه را متوقف کرده ،هر چقدر عدد جلوی متد کمتر باشد سرعت تکرار حلقه هم کمتر می شود.استاندار د عدد 30 مناسب است ولی شما میتوانید این عدد را تغییر دهید.بهتر است همیشه بعد از دستور pygame.display.update() دستور زیر رو قرار بدهید

fpsClock.tick(10)


تابع دیگری هم وجود دارد که به میزانی که ما میگوییم درنگ میکند.

time.sleep(0.5)


ورودی این تابع برحسب ثانیه است .اگر میخواهید از این دستور استفاده کنید import time رو در بالای برنامه فراموش نکنید.

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

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

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

❇️ پیدا کردن الگوهای با عبارتهای منظم


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

انظباق چیزهای بعد از @

- حروف الفبا
-اعداد
-نشانه های خاصی مانند (_)

مثال :
@UN_Spokesperson
@Python
@10years

بنابراین بعد از @ میتواند عبارتهای زیر قرار گیرد:
@[A-Za-z0-9_]+

حروف الفبای بزرگ و کوچک، اعداد صفر تا 9 ، آندرلاین
با علامت + بعد از کروشه مشخص میکنیم این عبارتها میتوانند تکرار گردند.

حالا در بخش بعدی نحوه نوشتن کد برای این عبارت منظم را خواهیم گفت

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

🆔 : @pythonchallenge
چالش پایتون
#متن_کاوی_با_پایتون ❇️ پیدا کردن الگوهای با عبارتهای منظم اینکه بگوییم چیزی با @ شروع میگردد یک الگو می باشد برای ما کافی نیست. بلکه نشانه های است که با @ شروع می شوند و چیزی رو باید دنبال کنند. برای مثال چگونه میتوانیم تشخیص دهیم که اگر @ در جمله ای ذکر…
#متن_کاوی_با_پایتون

❇️ حالا بیاییم مثال قبل رو ادامه بدهیم جایی که کلمات با @ شروع میشدند. برای عبارتهای منظم ما یک کتابخانه re داریم که باید ابتدا ایمپورتش کنیم.
در واقع این کتابخانه برای عبارتهای منظم هست و دو حرف اول Regular Expressions هست.
برای این مورد خاص از متد search برای پیدا کردن عبارت منظمی که گفتیم استفاده میکنیم.

>>> import re
>>> [w for w in text13 if re.search('@[A-Za-z0-9_]+', w)]
['@UN', '@UN_Women']


الان در نتیجه مشاهده میکنیم که @ اول که بعدش یک فاصله بود در خروجی چاپ نخواهد کرد. و تمام الگوهای مورد نظر ما فقط در خروجی نمایش داده شد.

یکبار دیگه عبارت منظمی که استفاده کردیم رو تجزیه و تحلیل میکنیم:
@[A-Za-z0-9_]+

این عبارت منظم از سه بخش تشکیل شده است.

1- بخش اول علامت @ است و به قید و شرط باید استفاده گردد.
2- بخش دوم حروف بزرگ A-Z و حروف کوچک a-z و اعداد بین صفر تا نه خواهد بود . دقت کنید همه اعدادهای چند رقمی هم از این 10 عدد صفر تا نه تشکیل شده اند. همچنین آندرلاین (_) هم میتواند قرار داشته باشد. این بخش داخل یک کروشه قرار خواهد گرفت.
3- بخش سوم علامت + است که بعد از کروشه خواهد آمد. این علامت نشان دهنده این است که عبارتهای داخل کروشه میتوانند تکرار گردند.یعنی شما میتوانید یک عدد را بارها تکرار کنید یا حروف الفبای بزرگ و کوچک را تکرار نمایید.که به این علامت متاکارکتر در عبارتهای منظم گویند که در بخش بعد توضیحات بیشتری ارائه خواهیم کرد.

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

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

#مقدماتی_پایتون
#متن_کاوی_با_پایتون
#بازی_سازی_در_پایتون
#دوره_تکمیلی_پایتون

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

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

کار با متدهای numpy - بخش پنجم

با استفاده متد linspace میتوانیم در یک بازه مشخص n عدد تولید کنیم،این متد سه ورودی دارد،که اول و آخر بازه را مشخص می نمایید و وروی سوم تعداد عددی (n) که قرار هست تولید گردد نمایش میدهد.
🔵توجه کنید برای استفاده از متد linspace باید کتابحانه pi از ابزار numpy رو ابتدا فراخوانی کنیم
»> from numpy import pi
»> a9 = np.linspace(0,3,5)
»> print a9
[ 0. 0.75 1.5 2.25 3. ]


برای تغییر شکل (تغییر بُعد) در آرایه ها میتوانیم از متد reshape استفاده کنیم،بعنوان مثال میخواهیم یک آرایه یک بعدی رو تبدیل به یک آرایه سه در سه نماییم:
»> a10 = np.array([1,2,3,4,5,6,7,8,9]).reshape(3,3)
»> print a10
[[1 2 3]
[4 5 6]
[7 8 9]]

🔵نکته مهمی که وجود داره تعداد عناصر آرایه باید با ضرب ابعاد یکسان باشد.

برای تولید آرایه سه بعدی هم میتوانیم طبق مثال زیر انجام دهیم:
»> a11 = np.array([1,2,3,4,5,6,7,8,9,10,11,12]).reshape(2,3,2)
»> print a11
[[[ 1 2]
[ 3 4]
[ 5 6]]

[[ 7 8]
[ 9 10]
[11 12]]]
»> a11.ndim
3


حالا میخواهیم تغییر شکل برای آرایه های که با arange ساختیم انجام دهیم،بصورت زیر میباشد:
»> a12 = np.arange(30).reshape(2,3,5)
»> print a12
[[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]

[[15 16 17 18 19]
[20 21 22 23 24]
[25 26 27 28 29]]]

🔵نکته مهمی که وجود داره از روی خود آرایه نمیتوانید تعداد ابعاد رو متوجه شوید و حتما باید از متد ndim استفاده کنید.

اگر بخواهیم از دو آرایه یک بعدی ، یک آرایه دو بعدی ایجاد کنیم کافیه از متد vstack استفاده کنیم،نحوه کار با این متد بصورت زیر می باشد:
🔵از متد hstack هم برای نوشتن آرایه بصورت افقی استفاده کنیم:
»> a13 = np.array([1,2,3])
»> a14 = np.array([4,5,6])
»> a15 = np.vstack([a13,a14])
»> print a15
[[1 2 3]
[4 5 6]]


☸️مبجث بعدی ما در بخش بعدی محاسبات عددی روی آرایه هاست،امیدوارم خوب مطالعه کنید و در ادامه با ما همراه باشید

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

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

✍️بولین

نوع دیگر داده در پایتون، نوع بولین است که دارای یکی از دو مقدار صحیح ( True) یا غلط (False) است.
هم چنین، در مقایسه ی مقادیر، خروجی True یا False ایجاد می شود.

برای مثال، با استفاده از عملگر برابری که نشانه ی آن == است.

>>> my_boolean = True
>>> my_boolean
True

>>> 2 == 3
False
>>> "hello" == "hello"
True


📌 مراقب باشید که عملگر == را با عملگر انتساب که دارای یک مساوی (=) است، اشتباه نگیرید.

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

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

✍️مقایسه

عملگر بعدی عملگر مقایسه ای است. عملگر نامساوی، که با نماد =! نشان داده میشود، بررسی میکند که ایا حاصل مقایسه دو مقدار باهم برابر نیست؟ اگر یکسان بود یعنی false و اگر یکسان نبود یعنی true
>>> 1 != 1
False
>>> "eleven" != "seven"
True
>>> 2 != 10
True


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

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

🆔 : @pythonchallenge
خروجی کد زیر چیست؟
7 != 8
Anonymous Quiz
75%
True
25%
False
چالش پایتون
#بازی_سازی_در_پایتون استفاده از عکس در بازی لود کردن فایل عکس : برای اینکه ما بازی جذابی داشته باشیم یقیناً می باست از عکس های زیبا هم استفاده کنیم. برای لود کردن یک عکس ابتدا باید فایل عکس را درون یک متغیر بریزیم سپس آن را رسم کنیم: mypic = pygame.im…
#بازی_سازی_در_پایتون

نوشتن متن روی صفحه نمایش

برای این کار باید مراحل زیر رو طی کنید

ابتدا نوع فونت و اندازهش رو بصورت زیر مشخص میکنیم

fontObj = pygame.font.Font('tahoma.ttf',12)


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

textSurfaceObj = fontObj.render('@pythonchallenge', True,(255,0,0),(0,255,0))


در صورتی که میخواهید در مکان خاصی نوشته تان رسم شود به اینصورت مکان ان را تنظیم میکنید

textRectObj = textSurfaceObj.get_rect()
textRectObj.center = (300,200)


پس از انجام تنظیمات بالا میتوانید مانند یک عکس متنتان را روی صفحه چاپ کنید:

screen.blit(textSurfaceObj, textRectObj)


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

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

❇️ متاکارکترها - انطباق کارکترها

1️⃣ . (نقطه) : تنها یک کارکتر (هر نوع کارکتری) میتواند ظاهر گردد.
2️⃣ ^ : این علامت در داخل یک کروشه به معنی این است که کارکترهای بعد از آن نباید ظاهر گردند.
3️⃣ $ : این علامت در پایان یک رشته به این معنی که عبارت مورد جستجو باید با عبارتی که قبل از $ می آید شروع شود.
4️⃣ [ ] : انطباق با مجموعه از کارکترهای درون کروشه
5️⃣ متاکارکتر [a-z] : مطابقت با یکی از رشته های a,b,...,z
6️⃣ متاکارکتر [abc^] : مطابقت با کارکترهای که a,b,c نیستند.
7️⃣ متاکارکتر a|b : مطابقت میکند با کارکتری که a یا b باشد. در جاییکه a و b رشته هستند.
8️⃣ ( ) : محدوده ای برای عملگرها
9️⃣ \ : کارکترهای خاص (t , \n , \b\)


❇️ متاکارکترها - نمادهای کارکتری

1️⃣ متاکارکتر b\ : انطباق مرز کلمات
2️⃣ متاکارکتر d\ : رقم ها ، همه اعداد شامل [0-9]
3️⃣ متاکارکتر D\ : غیر از رقم، هر موردی جز اعداد [9-0^]
4️⃣ متاکارکتر s\ : تمام فضاهای خالی، مانند [t\n\r\f\v\ ]
5️⃣ متاکارکتر S\ : عدم فضاهای خالی، مانند [t\n\r\f\v\ ^]
6️⃣ متاکارکتر w\ : تمام کارکترهای الفبایی و عددی، شامل [ _a-zA-Z0-9]
7️⃣ متاکارکتر W\ : تمام کارکترهای غیر الفبایی و عددی، شامل [ _a-zA-Z0-9 ^]

❇️ متاکارکترها - تکرار

1️⃣ * : تکرار صفر یا بیشتر
2️⃣ + : تکرار یک بار یا بیشتر
3️⃣ ؟ : تکرار صفر یا یک عبارت قبل از علامت سوال
4️⃣ متاکارکتر {n} : دقیقا n بار تکرار که n بزرگتر و مساوی صفر خواهد بود.
5️⃣ متاکارکتر { ,n} : حداقل n بار تکرار
6️⃣ متاکارکتر {n, } : حداکثر n بار تکرار
7️⃣ متاکارکتر {m,n} : حداقل m بار و حداکثر n بار تکرار

🔵 اگر متاکارکتری رو متوجه نشدید نگران نباشید، در بخش های بعدی مثالهای خواهیم زد که کاملا متوجه گردید. و اگر دوست داشتید اطلاعات بیشتری در مورد این متاکارکترها داشته باشید لینک زیر رو میتونید مشاهده کنید:
http://www.rexegg.com/regex-quickstart.html


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

🆔 : @pythonchallenge