Syntax | سینتکس
Open in Telegram
Focus: Web Lan: Python & Go Website: https://syntaxfa.ir Quick connect: https://quick-connect.syntaxfa.ir Github: https://github.com/syntaxfa Group: https://t.me/Syntax_fa_group
Show more3 255
Subscribers
-424 hours
+27 days
-230 days
Posts Archive
3 255
کتاب پایتون به فارسی
(نخوندم ولی سرفصل هارو دیدم مشخصه وقت زیادی رو برای نوشتنش گذاشتن)
https://python.coderz.ir/index.html#home-page
#book
@Syntax_fa
3 255
⭐️ و باز هم یه تگ جدید 😁♥️
درکنار تمرینها و سختیهایی که تا به الان برای پیشرفتتون باهاش مواجه شدید 😅
🥳 قراره یه تگ جدید اضافه کنیم با عنوان #python_eight ♥️
توی این بازه و این تگ جدید قراره تکه کد های کاربردی پایتون رو به همراه سورس و توضیحات مختصر داخل چنل قرار بدیم.
موافقم(👍).
مخالفم(👎).
لطفا نظرتون رو به صورت ری اکشن قرار بدید داخل همین پیام.
👇 @Syntax_fa
3 255
❇️ تمرین سوم. شبیهسازی داندر متد as_integer_ratio در پایتون.
#version>=Python3.8
ورودی: یک عدد اعشاری مثبت. (float>0)
خروجی: یک تاپل که شامل دو عدد صحیح میباشد و اگر عدد اول را بر عدد دوم تقسیم کنیم حاصل جواب برابر با ورودی خواهد بود.
توضیحات: برای درک کامل مبحث توصیه میشود کد زیر را اجرا کنید:
print(12.5.as_integer_ratio()) # (25, 2)
#نکته نحوه کارکرد as_integer_ratio در حالت عادی کمی متفاوت است
به عنوان مثال برای عدد 125.1 خروجی (4401564948312883,35184372088832) خواهد بود و پذیرفته نیست. اما در صورتی که خروجی برنامه شما برابر با (1251,10) بود، پاسخ صحیح است.
#توجه این داندر متد کاربرد و الگوریتم دیگری دارد، قصد ما در این تمرین شبیهسازی است نه پیادهسازی.
پس صرفا نسبت به خروجی های خواسته شده پیش بروید.
⚠️ دقت کنید که هدف برنامه پیدا کردن این دو عدد است و انتظار میرود کسر کوچک ترین حالت ممکن باشد.
یعنی در صورتی که عدد 12.5 وارد شود، جواب صحیح (25,2) خواهد بود و در صورت چاپ (125,10) پذیرفته نیست.
✅ قابل استفاده: حلقهها و شرطها.
#توجه استفاده از هرگونه متد، کتابخانه و یا توابع داخلی و خارجی غیرمجاز بوده و پیگرد قانونی خواهد داشت. ❌😁
#مثال1:ورودی: 3.14 خروجی: (50, 157)#break_limit @Syntax_fa
3 255
❇️ تمرین دوم. پیادهسازی extand در پایتون.
ورودی1: تعداد عناصر لیست1. (int>0)
ورودیx-1: عناصر لیست1 به ترتیب وارد خواهد شد، در صورتی که 7 آیتم وجود داشته باشد نیاز به 7 بار ورودی گرفتن است. (list[str])
ورودی2: تعداد عناصر لیست2. (int>0)
ورودیx-2: عناصر لیست2. (list[str])
خروجی: لیست1.extand(لیست2)
توضیحات: عناصر لیست دوم به ترتیب، به لیست اول اضافه شوند.
#نکته تمامی عناصر string خواهند بود.
#توجه ابتدا دو لیست خالی در برنامه تعریف کنید و سپس داده ها را به به صورت زیر وارد کنید:
myList = []
myList += ["new data"]
#توجه استفاده از ساختار list_1 += list_2 غیرمجاز است.
#راهنما استفاده از یک لیست واسطه.
✅ قابل استفاده: حلقهها ( استفاده از range مجاز است. ).
#توجه استفاده از هرگونه متد، کتابخانه و یا توابع داخلی و خارجی غیرمجاز بوده و پیگرد قانونی خواهد داشت. ❌😁
#مثال1:ورودی1: 3 ورودی1-1: A ورودی1-2: B ورودی1-3: C ورودی2: 3 ورودی2-1: 1 ورودی2-2: 2 ورودی2-3: 3 خروجی: ["A", "B", "C", "1", "2", "3"]#break_limit @Syntax_fa
3 255
اگه نتونستید ثبت نام کنید. میتونید توی کانال یوتیوب msfarsi تماشا کنید.
https://youtube.com/playlist?list=PLVW5oNHrQQlT6MOjnxndAzrxgZVokwKwZ&si=6-wLonggyCXeVgCg
3 255
❇️ تمرین اول. پیادهسازی اندیس(index) در پایتون.
ورودی1: رشتهای شامل انواع مختلفی از کاراکترها. (str)
ورودی2: شامل عددی نا معلوم. (int>=0)
خروجی: ورودی1[ورودی2]. (str)
توضیحات: ورودی دوم اندیسی از ورودی اول خواهد بود و شما باید داده آن اندیس را استخراج کرده و در خروجی نمایش دهید.
#نکته در صورت وجود نداشتن اندیس، پیغام string index out of range، چاپ شود.
قابل استفاده: حلقهها و شرطها.
#توجه استفاده از range ممنوع میباشد.
#مثال1:
ورودی1: salam ورودی2: 4 خروجی: m#مثال2:
ورودی1: salam ورودی2: 5 خروجی: string index out of range#break_limit @Syntax_fa
3 255
🔴 سلام دوستان، همزمان با پیمایش و مزه مزه کردن تمرینهای leetcode، قراره یه سری تمرینهای دیگه قرار بدیم با تگ: #break_limit.
⭕️ در این نوع تمرینها، خروجی خواسته شده با مواد قابل دسترس از شما انتظار خواهد رفت.
🔅 یعنی یک الگوریتم پایتون رو بدون استفاده از ابزارهایی به جز ابزارهایی که براتون داخل تمرین تعریف شده پیادهسازی کنید.
ببینم چه میکنید. 😎✅
3 255
نکاتی در خصوص حل مسئله:
در مصاحبهها برای شغلهای مرتبط با برنامهنویسی عموماً توصیه میشود در حل مسائل و الگوریتمها از ویژگیهای خاص زبان استفاده نشود و مسائل به طور عام بدون اتکا به یک زبان ویژه حل شوند. دلایل این توصیه عبارتند از:
- در مصاحبه بررسی میشود که شخص چگونه میتواند مسئله را به طور عام حل کند، نه آنکه از یک زبان مشخص استفاده کند.
- در شرکتهای مختلف زبانهای برنامهنویسی متفاوتی مورد استفاده قرار میگیرند. پس مهم است که کاربردی بودن الگوریتمها نشان داده شود.
- بدون اتکا به زبان، باید از مفاهیم پایهای مانند ریاضیات، منطق و طراحی الگوریتم استفاده شود.
بنابراین در مصاحبهها توصیه میشود که بدون استفاده از ویژگیهای خاص زبان، مسائل را حل کرد تا قدرت تحلیل و حل مسئله فرد بهتر به نمایش گذاشته شود.
#Problems
@Syntax_fa
3 255
بهترین پاسخ:
مهدی با این تیکه کد.
کانفیگ ده گیگ رو ایشالله باهاش بره یوتیوب آموزش ببینه 👌😂
تو مسئله های بعدی با کیفیت تر پیش میریم 🔥
3 255
بهترین پاسخ:
مانی با این تیکه کد.
کانفیگ ده گیگی رو ایشالله باهاش بره یوتیوب آموزش ببینه 👌😂
نکته:
امروز یکی از ادمینای پایتونیمون برنده رو مشخص کرد. تو مسئله های بعدی جوابتون باید وابسته به زبان خاصی نباشه.
برای مثال فانکشن set قابل قبول نیست.
باید کاری که میخواید انجام بدید رو خودتون پیادش کنید
3 255
معرفی وب سایت GitHubUnwrapped
تو این وب سایت یوزرنیم گیت هابتون رو وارد کنید تا بهتون همه ی فعالیت هاتونو به شکل خیلی جذاب نشون بده.
https://www.githubunwrapped.com/
#github
@Syntax_fa
3 255
معرفی وب سایت dbdesigner
یکی از بهترین وب سایت ها برای طراحی دیاگرام دیتابیستون هستش.
حتی میتونید بعد از طراحی خروجی postgres و mysql و چند تا دیتابیس معروف دیگه رو هم بگیرید تا با یه دستور ساده توی دیتابیس هم چیزی که طراحی کردید ساخته شه.
پیشنهاد میکنم حتما حتما یکی از اولین اقدام های استارت پروژتون طراحی دیاگرام دیتابیستون باشه.
https://app.dbdesigner.net/
#database
@Syntax_fa
3 255
2. Longest Substring Without Repeating Characters
مسئله دوم
سطح: متوسط
توضیح:
رشته s را دریافت کنید و تعداد کاراکتر های بدون تکرارش را در خروجی برگردانید.
مثال:
Example 1:
Input: s = "abcabcbb"
Output: 3
Explanation: The answer is "abc", with the length of 3
Example 2:
Input: s = "bbbbb"
Output: 1
Explanation: The answer is "b", with the length of 1.
Example 3:
Input: s = "pwwkew"
Output: 3
Explanation: The answer is "wke", with the length of 3. Notice that the answer must be a substring, "pwke" is a subsequence and not a substring.
نکته:
رشته s می تواند شامل حروف انگلیسی، اعداد، سمبل ها و فاصله(space) باشد.
برای اینکه تست کنید جوابتون درسته حتما به این وب سایت سر بزنید:
https://leetcode.com/problems/longest-substring-without-repeating-characters/description/
جایزه:
به بهترین جواب کانفیگ ده گیگابایت شخصی داده میشود.
#Problems
@Syntax_fa3 255
💢 ویژگیها و قابلیتهای PyCharm
1. پیشبینی هوشمند کد (Intelligent Code Assistance): پایچارم از تکنولوژیهای پیشرفته هوش مصنوعی برای پیشبینی هوشمند کد، دیباگ و اصلاح خطاها استفاده میکند. این ویژگی باعث افزایش سرعت توسعه و کاهش خطاها میشود.
2. مدیریت پروژه (Project Management): پایچارم به شما امکان میدهد تا به راحتی پروژههای پایتونی خود را مدیریت کرده و از ویژگیهای مانند مدیریت و ایجاد محیطهای مجازی (Virtual Environments) بهره ببرید.
3. پشتیبانی از فریمورکها و کتابخانهها (Framework and Library Support): پایچارم دارای پشتیبانی کامل از اکثر فریمورکها و کتابخانههای پایتون است که به شما کمک میکند تا به بهترین شکل از این ابزارها استفاده کنید.
4. پشتیبانی از دیباگ (Debugging Support): امکان دیباگ کردن کد به شیوههای مختلف مانند اجرای مرحله به مرحله و نمایش متغیرها به شما کمک میکند تا خطاهای کد خود را به راحتی شناسایی کنید.
5. سفارشیسازی بالا (Highly Customizable): پایچارم به شما امکان میدهد تا به راحتی تمها، افزونهها و تنظیمات را سفارشی کنید تا بهترین تجربه توسعه را برای خودتان ایجاد کنید.
▪️ورژن های PyCharm
پایچارم دارای نسخههای مختلفی است که برای نیازهای گوناگون توسعهدهندگان ارائه شده است. این شامل نسخه Community، Professional و Enterprise میشود.
#python
#pycharm
@Syntax_fa
3 255
نوآوری های هوش مصنوعی؛ جدیدترین محصولات آمازون و گوگل
البته نه واسه ما :(
https://youtu.be/_2cAfiWJ6M4?si=MtUBPtqGQdEJwJhu
3 255
با عضویت ۵ نفر به داخل کانال با لینک عضویت مخصوص، کانفیگ ۱۰ گیگابایتی شخصی بگیرید
ابتدا جهت دریافت لینک عضویت به ایدی زیر پیام بدهید
@LoyalShop_Admin
بعد از عضویت ۵ نفر از طریق لینک عضویت شما مجدد به ایدی زیر اطلاع داده و کانفیگ ده گیگابایتی بگیرید
@code_crafters
3 255
ده تا از پروژه های اپن سورس ترند گیت هاب
1. esProc SPL
این یک زبان برنامه نویسی جذاب و جدید برای محاسبات داده قدرتمند است که می تواند به عنوان یک انبار داده با کارایی بالا عمل کند.
با استفاده از esProc SPL، میتوانید آن را بهعنوان یک پایگاه داده تحلیلی یا میانافزار اجرا کنید و هزاران داده ساختاریافته یا نیمهساختار یافته را برای تجزیه و تحلیل مجموعههای داده عظیم محاسبه کنید.
2. screenshot-to-code
28 هزار تا ستاره گرفته و به سرعت رو به رشده!!
یک اسکرین شات بسازید و آن را به کد (HTML/Tailwind CSS، React یا Vue یا Bootstrap) تبدیل کنید. با استفاده از GPT-4 Vision و DALL-E 3، یک پروژه واقعا شگفت انگیز!
3. plane
19 هزار ستاره.
جایگزین منبع باز برای ابزارهای مدیریت پروژه مانند Jira یا Linear. مسائل، اسپرینت ها و نقشه راه محصول.
4. pocketbase
27 هزار ستاره
لک اند پروژه با Go. قابلیت اشتراک، فایل ها، مدیریت کاربر، رابط کاربری Admin، و REST API ساده.
5. daisyui
27 هزار ستاره
کتابخانه component منبع باز برای Tailwind CSS. دارای بیش از 55 تا component بصورت built-in برای استفاد.
6. superduperdb
1 هزار ستاره
چارچوب منبع باز برای ادغام هوش مصنوعی در پایگاه داده شما برای آموزش مدل مقیاس پذیر و جستجوی برداری.
7. lencx/ChatGPT
44 هزار ستاره
برنامه اپن سورس چت جی بی تی برای دسکتاپ(ویندوز، مک و لینوکس)
8. javascript-algorithms
178 هزار ستاره
منبعی برای یادگیری الگوریتم و ساختمان داده در جاوااسکریپت.
#web_sites
@Syntax_fa
3 255
یکی از روش های خوب و پر سرعت:
میایم یک دیکشنری تعریف میکنیم.
درون آرایه پیمایش میکنیم.
اولین قدم چک میکنیم عددمون فاصلش با تارگت چقدره (یکی از اشتباهاتی که بعضی از دوستان کردن این بود که چک کردن اگه عدد از target بزرگ تر بود کلا بیخیالش شه بره بعدی اما ممکنه عدد منفیم تو لیست باشه. پس هر کی اینکارو کرده بدون در نظر گرفتن بقیه موارد تست رو رد نمیکنه)
بعد از اینکه بدست آوردیم که عددمون چقدر با target فاصله داره. توی دیکشنری دنبال اون عددی میگردیم که عنصر ما با اون جمع بشه مساوی با تارگت میشه.
توی دیکشنری اعداد رو به این صورت ذخیره میکنیم
{value: index}
سرچ درون لیست با o(1) انجام میشه.
اگه توی دیکشنری نبود عنصر رو با ایندکسش توی دیکشنری اضافه میکنیم و به پیمایش ادامه میدیم
تو بهترین حالت کمتر از o(n) هستش و تو بدترین حالت o(n) میشه.
مثال توی پایتون:
class Solution(object):
def twoSum(self, nums, target) -> list:
checked: dict = {}
for index, num in enumerate(nums, start=0):
index2 = checked.get(target - num)
if index2 is not None:
return [index2, index]
checked[num] = index
return [0, 0]
مثال توی گو:
Go
func twoSumWithMakeMapAndExtraAssign(nums []int, target int) []int {
checked := make(map[int]int)
for index, num := range nums {
complete := target - num
if _, ok := checked[complete]; ok {
return []int{checked[complete], index}
}
checked[num] = index
}
return []int{}
}
نکته:
از نظر مصرف memory بهینه نیست. روش بهینه تر رو توی کامنت ها بگید.
#Problems
@Syntax_fa