برنامه نویسی | Teachify
11.7K subscribers
1.03K photos
420 videos
231 files
654 links
برای موفق شدن 🌱 با این عبارت خداحافظی کن: "باشه فردا"🍃


Admin: @Yousef_Vafaei
Download Telegram
چطوری به این خروجی برسیم؟
میخواییم وقتی یک لیست به ما دادن، تعداد بیشترین تکرارها رو از داخلش در بیاریم که در مثال زیر عدد 1 نسبت به بقیه بیشتر تکرار شده
Top : [1, 2, 1, 1, 3, 4, 2] > [1]

def top(arr):
values = {}
result = []
f_val = 0

for i in arr:
if i in values:
values[i] += 1
else:
values[i] = 1
print(values) # {1: 3, 2: 2, 3: 1, 4: 1}

f_val = max(values.values()) # 3

for i in values.keys():
if values[i] == f_val:
result.append(i)
else:
continue
return result


print(top([1, 2, 1, 1, 3, 4, 2])) # [1]


@Teachify | برنامه نویسی
👍31
✔️ الگوریتم چک کردن اینکه ایا 2 تا استرینگ با هم هم شکل هستند یا نه؟

Example 1:
Input: s = "egg", t = "add"
Output: true

Example 2:
Input: s = "foo", t = "bar"
Output: false

Example 3:
Input: s = "paper", t = "title"
Output: true

def is_isomorphic(s, t):
if len(s) != len(t):
return False
dict = {}
set_value = set()
for i in range(len(s)):
if s[i] not in dict:
if t[i] in set_value:
return False
dict[s[i]] = t[i]
set_value.add(t[i])
else:
if dict[s[i]] != t[i]:
return False
return True

@Teachify | برنامه نویسی
👍6
✔️ تک خطی های پایتون

@Teachify | برنامه نویسی
❤‍🔥8👍1
✔️ کامندهای کاربردی گیت

@Teachify | برنامه نویسی
👍6
✔️ نام ایران ترند اول جهان شد!

@Teachify | برنامه نویسی
😎29🤯5👍4👎21🥱1
خروجی کد زیر چیست؟
X = [ a, b, c] print(X.pop())
Anonymous Quiz
38%
[a, b]
16%
[b, c]
27%
c
19%
a
✔️ استفاده از علامت / و * در توابع پایتون

علامت های اسلش و ستاره مشخص کننده نوع آرگومانی است که میتوانید به توابع خود ارسال کنید. پارامترهایی که بعد از علامت ستاره قرار میگیرند باید به شکل کلید-واژه (keyword-argument) ارسال شوند. همچنین پارامترهایی که قبل از علامت اسلش قرار میگیرند باید براساس موقعیت (positional-argument) ارسال شوند.

به عنوان مثال، به تابع زیر دقت کنید:

def show(fn, *, ln):
print(f"your name is {fn} {ln}...")

>>> show('sepehr', ln='vafaei')
your name is sepehr vafaei...

از آنجایی که پارامتر ln بعد از ستاره قرار گرفته، پس مجبور هستیم این آرگومان را به شکل کلید-واژه ارسال کنیم، در غیر اینصورت با خطا مواجه خواهیم شد. نحوه ارسال پارامترهایی که قبل از ستاره هستند اهمیتی ندارد و میتوان به هر شکلی آنها را ارسال کرد.

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

def show(fn, /, ln):
print(f"your name is {fn} {ln}...")

>>> show('sepehr', ln='vafaei')
your name is sepehr vafaei...

در زمان استفاده از علامت اسلش در پارامترهای توابع پایتونی، تمام پارامترهایی که قبل از علامت اسلش قرار میگیرند، باید براسال موقعیت ارسال شوند و نمیتوانند به کلید-واژه ارسال شوند. نحوه ارسال پارامترهایی که بعد از علامت اسلش قرار میگیرند، اهمیتی ندارد.
@Teachify | برنامه نویسی
👍9
Media is too big
VIEW IN TELEGRAM
امن ترین دارایی در جنگ طلا هست ...

می دونستی بدون سرمایه هم می تونی یه طلا فروشی آنلاین داشته باشی؟

🔰 وبینار رایگان: چگونه بدون سرمایه، گالری آنلاین طلا بزنیم ؟ + چک لیست عملی

ثبت نام سریع از لینک👇
http://url.aramehacademy.com/webinar
سه شنبه 28 فروردین ساعت 20

⚠️ظرفیت محدود
😁2
✔️ متد split و join در پایتون

فانکشن split برای تکه تکه کردن یک string بر اساس یک کاراکتر خاص استفاده میشه. در کد پایین میبینید که با استفاده از یک string خالی یا همون فاصله جمله sayhello رو تکه تکه کردیم. نتیجه به شکل یک لیست برگشت داده میشه:
sayhello = 'Hello teachify members'
sp = sayhello.split(' ')
print(sp)
# ['Hello', 'teachify', 'members']

فانکشن join دقیقا برعکس split کار میکنه یعنی یه آبجکت iterable گرفته و آیتم های اونو به م میچسبونه. در کد زیر یک لیست به متد join داده شده و بر اساس یک string خالی این آیتم ها را به هم میچسباند.
my_list = ['Hello', 'teachify', 'members']
j = ' '.join(my_list)
print(j)
# Hello teachify members

@Teachify | برنامه نویسی
👍3👌1
✔️ یکم قوانین کلین کد پایتون بخونیم ... PEP 8

1. اسم متغییر ها و تابع ها باید از حروف کوچیک باشد.
# Correct:
user_email = ...
def find_me(): ...
def go_home(): ...

# Wrong:
UserEmail = ...
def findMe(): ...
def GoHome(): ...
2. اگر متغییری دارید که قرار است هیچوقت مقدارش را تغییر ندهید، از حروف بزرگ استفاده کنید. ( بهش میگیم constant )
# Correct:
NO_CHANGE = 5

# Wrong:
NoChange = 5
no_change = 5
3. اسم کلاس هارو با به صورت CapWord بنویسید(اول کلمات حرف بزرگ):
# Correct:
class MyClassName: ...

# Wrong:
class my_class_name: ...
4. سعی نکنید همه چیز را در یک خط جا دهید.
# Correct:
if foo == 'blah':
    do_blah_thing()
do_one()
do_two()

# Wrong:
if foo == 'blah': do_blah_thing()
do_one(); do_two(); do_three()
5. وقتی میخواید خالی بودن لیستی چیزی رو چک کنین، از len استفاده نکنید.
# Correct:
if not seq:
if seq:

# Wrong:
if len(seq):
if not len(seq):

@Teachify | برنامه نویسی
👍9
This media is not supported in your browser
VIEW IN TELEGRAM
✔️ قبول دارید اینجوریه؟😂

@Teachify | برنامه نویسی
🤣231👍1👏1
This media is not supported in your browser
VIEW IN TELEGRAM
✔️ این دیگه اخرشه 😂😂

#fun
@Teachify | برنامه نویسی
🤣25👍1
✔️ یادگیری کد vs فراموش کردن کد!

#fun
@Teachify | برنامه نویسی
😭33👍8👎1
✔️ یک مثال برای مدیریت خطا در پایتون

مدیریت خطا بخش مهمی از برنامه نویسی است که به شما امکان می دهد با خطاها و مشکلات غیر منتظره ای که در حین اجرای برنامه شما رخ می دهد، برخورد کنید. در پایتون، از کلمات کلیدی try، except، else و finally برای مدیریت خطا استفاده می شود.

کلمه کلیدی try بلوکی از کد را مشخص می کند که ممکن است خطایی ایجاد کند.

کلمه کلیدی except برای مشخص کردن نوع خطایی که می خواهید catch کنید و کدی که می خواهید در صورت وقوع آن خطا اجرا شود، استفاده می شود.

کلمه کلیدی else برای اجرای کدی در صورتی که هیچ خطایی در بلوک try رخ ندهد، استفاده می شود.

کلمه کلیدی finally برای اجرای کدی صرف نظر از اینکه خطایی رخ داده باشد یا خیر، استفاده می شود.
try:
age = int(input("سن خود را وارد کنید: "))
if age < 18:
raise ValueError("شما باید حداقل 18 سال سن داشته باشید.")
print(f"شما {age} سال سن دارید.")
except ValueError as e:
print(f"خطا: {e}")
except Exception as e:
print(f"خطای غیرمنتظره: {e}")
finally:
print("برنامه به پایان رسید.")

در این مثال، کد داخل بلوک try سعی می کند سن کاربر را به عنوان یک عدد صحیح دریافت کند. اگر سن کاربر کمتر از 18 سال باشد، یک ValueError ایجاد می شود. اگر هر خطای دیگری رخ دهد، یک Exception ایجاد می شود. کد داخل بلوک except پیام خطای مناسب را چاپ می کند. کد داخل بلوک finally صرف نظر از اینکه خطایی رخ داده باشد یا خیر، اجرا می شود.
@Teachify | برنامه نویسی
👍14
وقتی موقع وارد کردن پسورد جوگیر میشی :))

#fun
@Teachify | برنامه نویسی
🤣35👍5
✔️ یه برنامه نویس واقعی هیچ جا کدها و کارش رو ول نمیکنه :))

#fun
@Teachify | برنامه نویسی
🤣35😍2
✔️ خطا ها در زبان پایتون

▪️در زبان پایتون، خطاها به دو دسته تقسیم می‌شوند: خطاهای معمولی (Exceptions) و خطاهای زمان اجرا (Runtime Errors). اینجا چند خطا اصلی همراه با معانیشان آمده است:

1. خطای (SyntaxError): زمانی رخ می‌دهد که کد نوشته شده با قواعد زبان پایتون مغایرت داشته باشد.

2. خطای فاصله گذاری (IndentationError): وقتی فاصله‌گذاری در کد ناقص یا نادرست باشد.

3. خطای (NameError): وقتی یک نام متغیر یا فراخوانی وجود نداشته باشد.

4. خطای (TypeError): وقتی عملیاتی روی نوع اشیاء نامناسب باشد.

5. خطای (IndexError): وقتی شاخصی برای دسترسی به یک عنصر در یک لیست یا رشته وجود نداشته باشد.

6. خطای (ValueError): زمانی اتفاق می‌افتد که یک عملیات با یک مقدار نامناسب انجام شود.

7. خطای (KeyError): وقتی یک کلید در یک دیکشنری وجود نداشته باشد.

8. خطای (FileNotFoundError): وقتی یک پرونده مورد نظر برای عملیات فایل مورد نظر پیدا نشود.

9. خطای (ModuleNotFoundError): وقتی یک ماژولی که قرار استفاده شود پیدا نشود.

10. خطای (ZeroDivisionError): وقتی تلاش برای تقسیم عددی بر صفر انجام شود.
@Teachify | برنامه نویسی
👍8
This media is not supported in your browser
VIEW IN TELEGRAM
✔️ این دیگه چه سمی بود :))))

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

کسی که داره پایتون یاد میگیره:
#fun
@Teachify | برنامه نویسی
🤣25👍2
✔️ موضوع Monkey Patching در پایتون چیست؟

پایتون یک زبان برنامه‌نویسی پویاست و این یعنی میشه رفتار کد رو حین اجرا تغییر داد. Monkey Patching یه تکنیکیه که بهمون اجازه میده تا کلاس‌ها و ماژول‌ها رو حین اجرا تغییر بدیم.

مثل اینکه بخواهیم تو کار یه ماشین دستکاری کنیم وقتی که داره کار میکنه!

به مثال زیر دقت کنید:

class monkey:
def patch(self):
print("patch() is being called")

def monk_p(self):
print("monk_p() is being called")

# جایگزین کردن patch با monk_p
monkey.patch = monk_p

obj = monkey()

obj.patch() # monk_p() is being called

تو این مثال یه کلاس monkey با یه متد patch ساختیم. یه تابع دیگه هم به اسم monk_p بیرون از کلاس تعریف کردیم. حالا با جایگزین کردن monkey.patch با monk_p تونستیم رفتار patch رو تغییر بدیم.

جالبه که وقتی یه آبجکت از کلاس monkey درست میکنیم و متد patch رو صدا می‌زنیم، خروجی monk_p رو می بینیم. این یعنی با Monkey Patching تونستیم رفتار کد رو حین اجرا تغییر بدیم.
@Teachify | برنامه نویسی
👍6👌1
✔️ مثال #پایتون
کدی بنویسید که بتونه اعداد مربع کامل رو تشخیص بده؟
مثلا اگه اسم تابع ما valid_square باشه:

valid_square(10)
# False
valid_square(36)
# True

حتما قبل از دیدن جواب خودتون تلاش کنید.
جواب به زودی در کامنت

@Teachify | برنامه نویسی
✔️ عبارت with در پایتون برای چی استفاده میشه؟

عبارت with تو پایتون برای مدیریت استثنا (exception handling) و تمیزتر کردن کد به کار میره. معمولا ازش برای کنترل منابع رایج مثل ساختن، ویرایش و ذخیره کردن فایل استفاده میشه.

فرض کنید میخواین یه فایل متنی بسازین و توش بنویسین. بجای اینکه چند خط کد برای باز کردن فایل، بلاک try-except-finally و بستن فایل بنویسین، میتونین با یه خط از عبارت with این کار رو انجام بدین. خیلی ساده است!

مثال:

# با with statement
with open('myfile.txt', 'w') as file:
file.write('DataCamp Black Friday Sale!!!')


تو این مثال، با استفاده از with یه فایل به اسم myfile.txt رو باز کردیم و حالت اون رو روی نوشتن (w) قرار دادیم. بعدش با file.write یه متن داخلش نوشتیم.

نکته مهم اینه که بعد از تموم شدن کار با فایل، دیگه نیازی نیست اون رو به صورت دستی ببندیم. چون عبارت with خودش موقع خروج از بلاک، فایل رو میبنده. این باعث میشه کد تمیزتر و خطای کمتری داشته باشیم.
@Teachify | برنامه نویسی
👍7