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


Admin: @Yousef_Vafaei
Download Telegram
برنامه نویسی | Teachify
Which option is correct? print(0o576)
✔️ نحوه نمایش اعداد در مبناهای مختلف و تبدیل آن‌:

مبنای 2 (دودویی یا باینری): پیشوند 0b یا 0B
ارقام معتبر: فقط 0 و 1
مثال: 0b11111111 معادل 255 در ده‌دهی است.

مبنای 8 (هشت‌هشتی یا اوکتال): پیشوند 0o یا 0O
ارقام معتبر: از 0 تا 7
مثال: 0o377 معادل 255 در ده‌دهی است.

مبنای 16 (شانزده‌هشتی یا هگزادسیمال): پیشوند 0x یا 0X
ارقام معتبر: از 0 تا 9 و حروف a-f یا A-F
مثال: 0xff معادل 255 در ده‌دهی است.

برای نمایش این اعداد در مبناهای مختلف:
x = 255
print(bin(x)) # '0b11111111'
print(oct(x)) # '0o377'
print(hex(x)) # '0xff'


در نتیجه، هرکدام از این پیشوندها عدد را در مبناهای مختلف نمایش می‌دهند. توجه داشته باشید که اگر غیر از ارقام معتبر وارد کنید، خطای SyntaxError رخ می‌دهد.

@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤‍🔥31
print(True + True)
Anonymous Quiz
24%
error
32%
1
11%
2True
32%
2
👀114
✔️ برنامه‌نویس‌ها درونگرای برونگرا هستند!!

برنامه‌نویس‌ها معمولاً درونگرا به نظر می‌رسن؛ عاشق کار در سکوت و غرق شدن در دنیای کدها هستند. اما کافیه یکی مثل خودشون رو ببینن! اون وقت انگار یه جرقه روشن میشه و برونگرایی‌شون فوران می‌کنه!

شاید این به خاطر این باشه که کنار هم‌فکرهاشون، حرف زدن راحت‌تره، چون نیاز نیست چیزی رو توضیح بدن؛ اونا حرف های همو می‌فهمن.

حالا تو چطور؟ وقتی با یه برنامه‌نویس دیگه حرف می‌زنی، برونگرا میشی؟

#برنامه‌نویسی #درونگرایی #برونگرایی
@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35🤣83👎1
برنامه نویسی | Teachify
Channel photo updated
نظرتون درباره لوگو جدید؟
Anonymous Poll
72%
👍
28%
👎
✔️ به نظر من که درست میگه :)))

نظر شما چیه؟
#fun
@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25👎10😁3🤣2
✔️ ترفند جالب پایتون: Context Manager با with

عبارت Context Manager یکی از مفاهیم مهم و کاربردی در زبان پایتون است که برای مدیریت منابعی که نیاز به باز و بسته شدن دارند (مثل فایل‌ها، کانکشن‌ها به دیتابیس، یا قفل‌ها) استفاده می‌شود.

یک Context Manager به شما این امکان را می‌دهد که بخشی از کد را در یک "بلوک مدیریتی" اجرا کنید، و در شروع و پایان آن بلوک، اقدامات خاصی انجام شود. این کار معمولاً با استفاده از دستور with انجام می‌شود.

به کمک دستور with می‌توانید مدیریت منابع مثل فایل‌ها یا دیتابیس را ساده‌تر کنید. این دستور به‌طور خودکار وظایف شروع و پایان را انجام می‌دهد.

with open("example.txt", "r") as file:
data = file.read()
# The file is automatically closed here.


یا برای ساخت Context Manager خودتان:
from contextlib import contextmanager

@contextmanager
def my_context():
print("🔹 Start...")
yield "Some data"
print("🔸 End...")

with my_context() as data:
print(data)


@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11👎1
✔️ این عالی بود :)))

#fun
@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣31👍14
✔️ به هوش مصنوعی chatgpt گفتم با توجه به شناختی که از من داری غذای مورد علاقه منو درست کن!

اولش اینجوری گفت:
با توجه به علایق شما به یادگیری و برنامه‌نویسی، احتمالاً غذایی که هم ساده باشه و هم خلاقیت نیاز داشته باشه، مورد علاقه شماست! 😄
من یک بشقاب غذای سالم و انرژی‌بخش مثل پاستا با سس سبزیجات تازه یا املت سبزیجات با کمی نان تست رو پیشنهاد می‌کنم. این غذاها هم سریع آماده می‌شن، هم مناسب کسانی که ساعت‌ها پشت کامپیوتر کار می‌کنن!

اگه مشخص‌تر بهم بگید چه غذایی دوست دارید، می‌تونم تصویر بهتری بسازم. مثلاً غذای ایرانی، فست‌فود یا غذای سنتی؟

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

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

پ.ن: واقعا اشتهام تحریک شد :))

@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18👌1
استفاده از SQL خام در Django

هرچند که ORM به‌خوبی نیازهای عمومی ما را در جنگو برآورد میکند، اما گاهی اوقات برای کوئری‌های پیچیده یا بهینه‌سازی‌های خاص، استفاده از کوئری‌های خام SQL بهترین راه‌حل است.

در کد زیر، یک کوئری ساده‌ی خام برای دریافت محصولات با قیمت بالاتر از 100 را می‌بینید:

from django.db import connection

with connection.cursor() as cursor:
cursor.execute("SELECT * FROM myapp_product WHERE price > %s", [100])
results = cursor.fetchall()
for row in results:
print(row)



این کار برای ما کنترل بیشتر بر کوئری‌ها، امکان استفاده از ویژگی‌های خاص دیتابیس و بهبود عملکرد در شرایط خاص را امکان پذیر میکند.

فقط دقت کنید که حتما از پارامترها (%s) به‌جای ترکیب مستقیم مقادیر در کوئری استفاده کنید تا از حملات SQL Injection جلوگیری شود.

وقتی از پارامترها برای مقادیر ورودی در کوئری استفاده می‌کنید، Django یا کتابخانه‌ی مربوطه مقدار ورودی شما را ایمن‌سازی می‌کند. این یعنی کاراکترهای مخربی که ممکن است توسط یک مهاجم وارد شوند، به‌عنوان بخشی از داده در نظر گرفته شده و نمی‌توانند ساختار اصلی کوئری را تغییر دهند. به این فرآیند "escaping" گفته می‌شود.

اگر مستقیماً مقادیر کاربر را بدون استفاده از پارامترها در رشته‌ی SQL قرار دهید، کوئری شما در برابر SQL Injection آسیب‌پذیر می‌شود.

به عنوان مثال ناامن، فرض کنید کاربر می‌خواهد محصولی را براساس قیمت جستجو کند:
price = input("Enter a price: ")  
query = f"SELECT * FROM products WHERE price > {price}"
cursor.execute(query)

اگر کاربر به جای مقدار عددی، ورودی مخربی مثل زیر وارد کند:
0; DROP TABLE products; --  

کوئری نهایی شما به شکل زیر خواهد بود:

SELECT * FROM products WHERE price > 0; DROP TABLE products; --  

این کوئری باعث حذف شدن جدول products می‌شود!

@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
✔️ نظر شما چیه :))

#fun
@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👌34🤣14👍3👎1
Which method is used to merge two Python dictionaries (since Python 3.9)?
Anonymous Quiz
17%
update()
22%
| (pipe operator)
36%
merge()
24%
combine()
This media is not supported in your browser
VIEW IN TELEGRAM
✔️ بیچاره یه جونیور چیا میکشه تا تبدیل بشه به یه سنیور :)))

#fun
@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣29👍6
✔️ #مسئله حل کنیم

یک برنامه بنویسید که اعداد پالینڈروم (اعدادی که از چپ به راست و راست به چپ یکسان خوانده می‌شوند) را از یک لیست استخراج کند.

ورودی:
یک لیست از اعداد صحیح (مانند [101, 232, 345, 454, 567]).

خروجی:
یک لیست شامل اعداد پالینڈروم موجود در ورودی (برای مثال [101, 232, 454]).

@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻17👍1
✔️ یادداشتی که از امروز تا ابد هر وقت برم ناهار و استراحت پشت صندلیم خواهد بود :))

#fun
@Teachify | #zeinabkhakpour
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣22😁5👍1
✔️ 10 نکته طلایی برای بهبود رزومه برنامه‌نویسی

1. پروژه‌های واقعی و متن‌باز
پروژه‌های واقعی و دستاوردهای خود را نمایش دهید. پروژه‌های متن‌باز به دلیل اثبات مهارت در سطح عمومی، ارزش بیشتری دارند.

2. تمرکز بر زبان‌ها و ابزارهای مرتبط
زبان‌ها و تکنولوژی‌های موردنیاز شغل هدف را برجسته کنید. از هوش مصنوعی برای سفارشی‌سازی این بخش کمک بگیرید.

3. استفاده از آمار و نتایج
تاثیر دستاوردهایتان را با داده‌های کمی بیان کنید (مانند کاهش زمان بارگذاری به میزان ۳۰٪). این موارد باید قابل اثبات باشند.

4. اشاره به مهارت‌های نرم
مهارت‌هایی مثل کار تیمی و ارتباطات را اضافه کنید. این بخش برای شرکت‌های بین‌المللی اهمیت بیشتری دارد.

5. گواهینامه‌ها و دوره‌های آموزشی
تنها دوره‌هایی که اثربخشی بالایی دارند را در رزومه ذکر کنید، به‌ویژه مواردی که نشان‌دهنده یادگیری مداوم شما هستند.

6. سفارشی‌سازی رزومه برای هر شغل
رزومه را بر اساس شغل و نیازهای آگهی شغلی تنظیم کنید. کلمات کلیدی مرتبط با هر شغل را در متن بگنجانید.

7. حضور آنلاین حرفه‌ای
لینک پروفایل‌های GitHub، LinkedIn و سایر منابع حرفه‌ای را اضافه کنید تا توانایی‌ها و تجربیات شما قابل مشاهده باشند.

8. طراحی ساده و حرفه‌ای
از طراحی شیک و ساده استفاده کنید. از رنگ‌ها و استایل‌های پیچیده پرهیز کنید.

9. نوشتن خلاصه حرفه‌ای
یک خلاصه کوتاه در بالای رزومه اضافه کنید که تجربه‌ها، تخصص‌ها، و هدف شغلی‌تان را بیان کند.

10. تجربیات داوطلبانه
فعالیت‌های داوطلبانه و اجتماعی مثل برگزاری سمینارها یا مشارکت در پروژه‌های اجتماعی را اضافه کنید.

@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52👌1
✔️ #مسئله حل کنیم!

تبدیل یک لیست تودرتو به لیست صاف (Flatten a Nested List)

شرح مسئله: یک لیست می‌تواند شامل عناصر مختلفی باشد که برخی از آن‌ها نیز ممکن است خود لیست باشند (لیست‌های تودرتو). هدف این است که یک تابع پایتونی بنویسید که یک لیست تودرتو را بگیرد و تمامی عناصر آن را در یک لیست ساده قرار دهد.
# input
nested_list = [1, [2, 3], [4, [5, 6]], 7]
# output
flat_list = [1, 2, 3, 4, 5, 6, 7]


@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻6👍4
✔️ #مسئله حل کنیم!

یک سیستم مدیریت کاربران طراحی کنید که قابلیت‌های زیر را داشته باشد:
1. اضافه کردن کاربر جدید: شامل id,rule,name,age
2. حذف کاربر: بر اساس id
3. مرتب‌سازی کاربران: بر اساس name یا age
4. فیلتر کاربران بر اساس نقش: نمایش کاربران با rule مشخص.

وظیفه شما:
یک کلاس پایتون به نام UserManager بنویسید که این عملیات را انجام دهد. با کاربران زیر شروع کنید:
- yousef (id: 1, age: 28, rule: admin)
- sepehr (id: 2, age: 2, rule: user)
- narges (id: 3, age: 27, rule: user)

سپس:
1. کاربران را بر اساس age مرتب کنید.
2. کاربران با نقش "user" را نمایش دهید.
3. کاربر yousef را حذف کنید و لیست کاربران را بر اساس نام مرتب کنید.

جواب در قسمت کامنت ها.

@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9👨‍💻6
✔️ معرفی کتابخانه MarkItDown از مایکروسافت

مایکروسافت ابزار پایتونی جدیدی به نام MarkItDown منتشر کرده که می‌تواند فایل‌های مختلف مثل ورد، اکسل، پاورپوینت و PDF را به فرمت ساده و کاربردی Markdown تبدیل کند.

این ابزار به‌ویژه برای مدل‌های هوش مصنوعی متنی و تجزیه و تحلیل متن عالی است.

فقط کافیست فایل مورد نظر را به ابزار بدهید و خروجی Markdown دریافت کنید:
from markitdown import MarkItDown  

markitdown = MarkItDown()
result = markitdown.convert("test.docx")
print(result.text_content)



Github: https://github.com/microsoft/markitdown

Online Test: https://msftmd.replit.app

@kaliboys | کالی بویز
Please open Telegram to view this post
VIEW IN TELEGRAM
👍111
✔️ #مسئله حل کنیم!

یک سیستم مدیریت سفارش برای فروشگاه آنلاین طراحی کنید که قابلیت‌های زیر را داشته باشد:
1. اضافه کردن سفارش جدید: شامل order_id, customer_name, items, total_price.
2. حذف سفارش: بر اساس order_id.
3. نمایش تمام سفارش‌ها: نمایش جزئیات تمام سفارش‌ها به صورت مرتب.
4. جستجوی سفارش‌ها بر اساس نام مشتری: لیست سفارش‌های یک مشتری خاص.
5. محاسبه مجموع درآمد فروشگاه: جمع کل مبلغ سفارش‌ها.

وظیفه شما:
یک کلاس پایتون به نام OrderManager بنویسید که این عملیات را انجام دهد. با سفارش‌های زیر شروع کنید:
- Yousef (order_id: 1, items: Laptop, Total: 1500)
- Narges (order_id: 2, items: Phone, Total: 1200)
- Yousef (order_id: 3, items: Keyboard, Total: 100)

سپس:
1. تمام سفارش‌ها را نمایش دهید.
2. سفارش‌های مشتری Yousef را جستجو کنید.
3. سفارش Narges را حذف کنید و مجموع درآمد فروشگاه را محاسبه کنید.

جواب در قسمت کامنت‌ها.

@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻7👍3
✔️ 22 کد تک‌خطی کاربردی در پایتون 🐍

در این پست، 22 کد کوتاه و خفن پایتون رو براتون آماده کردم که می‌تونید برای حل مسائل روزمره و کدنویسی سریع ازشون استفاده کنید.

1. معکوس کردن رشته

reversed_string = string[::-1]


2. بررسی زوج بودن عدد

is_even = lambda x: x % 2 == 0


3. اشتراک دو لیست

intersection = list(set(list1) & set(list2))


4. ترانهاده کردن ماتریس

transpose = list(zip(*matrix))


5. پرتکرارترین عنصر در لیست

most_common = max(set(list1), key=list1.count)


6. ادغام دو دیکشنری

merged_dict = {**dict1, **dict2}

7. بررسی پالیندروم بودن رشته
is_palindrome = lambda s: s == s[::-1]


8. مرتب‌سازی لیست تاپل‌ها بر اساس عنصر دوم

sorted_tuples = sorted(tuples, key=lambda x: x[1])


9. تبدیل لیست به رشته (با جداکننده دلخواه)

joined_string = ','.join(map(str, my_list))


10. تعداد تکرار یک کاراکتر در رشته

count_char = string.count('a')


11. حذف مقادیر تکراری از لیست (در ترتیب حفظ‌شده)

unique_items = list(dict.fromkeys(my_list))


12. تولید لیست در بازه مشخص

range_list = list(range(10, 51, 5))


13. برعکس کردن یک لیست
reversed_list = my_list[::-1]


14. تبدیل همه حروف رشته به کوچک

lower_case = string.lower()


15. بررسی وجود یک زیررشته در رشته اصلی

contains = 'abc' in string


16. ساخت لیست مربع اعداد

squares = [x**2 for x in range(10)]


17. حذف فاصله‌های ابتدا و انتهای رشته

trimmed_string = string.strip()


18. محاسبه طول لیست (یا رشته)

length = len(my_list)


19. تبدیل حروف به بزرگ (Uppercase)

upper_case = string.upper()


20. پیدا کردن حداقل مقدار در لیست

minimum = min(my_list)


21. پیدا کردن حداکثر مقدار در لیست

maximum = max(my_list)


22. محاسبه مجموع اعداد لیست

total = sum(my_list)


#برنامه_نویسی #پایتون #Python
@Teachify | برنامه نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
👌10👍5