📌 عنوان برنامه: تابعی به نام is_national_code_valid بنویسید که یک ورودی به نام value از جنس رشته (String)، دریافت نموده و در صورتی که مقدار value، یک کد ملی معتبر بود، مقدار True و در غیر این صورت، مقدار False را برگرداند؟

تذکر: الگوریتم مربوط به این برنامه، در دو مطلب قبل به طور کامل منتشر شده است!

تذکر: در این سورس‌کد، سعی بر این شده است که از دستورات حرفه‌ای‌تر پایتون استفاده شود، این مدل کدنویسی، معمولا مربوط به برنامه‌نویسان Senior می‌باشد!

# ********************
def is_national_code_valid(value: str):
if value == None:
return False

value = value.replace(" ", "")

if len(value) < 8 or len(value) > 10:
return False

if len(value) == 9:
value = f"0{value}"

if len(value) == 8:
value = f"00{value}"

if value.isnumeric() == False:
return False

for index in range(10):
if value == str(index) * 10:
return False

sum = 0
for index in range(9):
sum += int(value[index]) * (10 - index)

control_digit = int(value[9])

remainder = sum % 11

if remainder < 2:
if remainder == control_digit:
return True
elif 11 - remainder == control_digit:
return True

return False
# ********************

#SourceCode #SourceCode10031 #Practical
کانال پایتون:
@DT_PYTHON_LEARNING
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
.
3👍2
Forwarded from 🛑 Iranian Experts 🛑 (𝓓𝓪𝓻𝓲𝓾𝓼𝓱 𝓣𝓪𝓼𝓭𝓲𝓰𝓱𝓲)
💚 معرفی سایت‌های فتح پرچم!
💚 Capture the Flag (CTF) Sites!

این سایت‌ها، سایت‌هایی هستند که چالش‌های زیادی برای شما فراهم می‌کنند، و شما می‌توانید با استفاده از دانش Hack (هک)، نسبت به حل آن‌ها اقدام کرده و در نهایت به یک کد خاص دسترسی پیدا کنید! به این کد، اصطلاحا پرچم گفته می‌شود و اصطلاحا شما پرچم را فتح می‌کنید!

سایت‌های زیادی در این خصوص وجود دارند، که به مرور زمان، در این کانال می‌گردند:

- https://overthewire.org/wargames/natas
- https://www.root-me.org
- https://www.hackthebox.com

نکته: این لیست به مرور زمان تکمیل می‌گردد!

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

ادمین کانال:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
3👍3
📌 عنوان برنامه: برنامه‌ای بنویسید که یک Domain Name را از ورودی (کاربر) گرفته و اطلاعات Whois آن‌را نمایش دهد:

نکته: برای نمایش کاملی از اطلاعات، می‌توانید ابتدا از دامنه google.com استفاده نمایید!

# **********
# pip install python-whois
# https://github.com/richardpenman/whois
# **********
import whois

domain_name = input("What is your domain name: ")
domain_name = domain_name.replace("www.", "")
domain_name = domain_name.replace("https://", "")
domain_name = domain_name.replace("https://", "")
domain_name = domain_name.lower()

try:
whois_information = whois.whois(domain_name)

if not whois_information.domain_name:
print(f"Domain '{domain_name}' is not registered!")
else:
print(f"Domain '{domain_name}' is registered.")

print(f"Email(s): {whois_information.emails}")
print(f"Registrar: {whois_information.registrar}")
print(f"WHOIS Server: {whois_information.whois_server}")
print(f"Domain Name(s): {whois_information.domain_name}")
print(f"Name Server(s): {whois_information.name_servers}")
print()
print(f"Updated Date: {whois_information.updated_date}")
print(f"Creation Date: {whois_information.creation_date}")
print(f"Expiration Date: {whois_information.expiration_date}")
print()
print(whois_information)
except:
print(f"Domain '{domain_name}' is not registered!")
# **********

#SourceCode #SourceCode10032 #Practical #EthicalHacking
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
2👍2
[No_Starch_Press]_Gray_Hat_Python.pdf
3 MB
☘️ معرفی کتاب‌های الکترونیکی ☘️

Title: Gray Hat Python
Author: Justin Seitz

Published Date: 2009
Publisher: No Starch Press

Pages: 220
Edition: First
Language: English

Description: Python Programming for Hacker and Reverse Engineers

#Book #EthicalHacking

🆔 @Dariush_Tasdighi
🆔
@IranianExperts
🆔
@DT_PYTHON_LEARNING
.
3👍3
💚 سلام دوستان عزیزم 💚

🛑 برای یک برنامه بسیار ارزشمند و هیجان‌انگیز به زبان پایتون آماده شوید!

فلسفه برنامه شماره سی و سه (۳۳):

زمانی که ما از طریق Wireless LAN Adapter دستگاه‌مان (لپتاب‌مان)، یک دستگاه WIFI Router، در اطراف‌مان را پیدا (شناسایی) کرده و با یک گذرواژه به آن متصل می‌شویم، اطلاعات مربوط به آن WIFI Router، در قالب یک فایل ‌Profile، بر روی دستگاه ما ذخیره می‌گردد، و گذرواژه‌ای که در زمان اتصال، ثبت کرده‌ایم، (متاسفانه) به صورت Plain Text، در همان فایل ذخیره می‌گردد!

حال می‌خواهیم برنامه‌ای بنویسیم، که فهرست تمام اسامی WIFI Profile های ثبت شده بر روی دستگاه ما را چاپ نموده و در مقابل هر یک از آن‌ها، گذرواژه مربوطه (ذخیره شده) را نمایش دهد!

نکته: همانند پروژه‌های قبل نیز، می‌خواهیم این کار را به صورت مرحله به مرحله (در چهار مرحله) انجام داده و در نهایت، به یک کد کامل، با رعایت تمام اصول Clean Code و Best Practice دست پیدا کنیم.

#SourceCode #SourceCode10033 #Practical #EthicalHacking
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
👍43
📌 عنوان برنامه: برنامه‌ای بنویسید که فهرست تمام WIFI Profile های ثبت شده بر روی دستگاه‌تان را چاپ نموده و در مقابل هر یک از آن‌ها، گذرواژه مربوطه (ذخیره شده) را نمایش دهد؟

مرحله اول

- قدم اول:
در محیط Windows PowerShell دستور ذیل را اجرا کرده و نتیجه آن‌را مشاهده می‌کنیم:

# ********************
netsh wlan show profiles
# ********************

- قدم دوم: حال این دستور را توسط زبان برنامه‌نویسی پایتون اجرا می‌کنیم و نتیجه اجرای این دستور را در متغیری به نام profiles_string ذخیره می‌کنیم:

# ********************
import subprocess

command = "netsh wlan show profiles"
profiles_string = subprocess.getoutput(cmd=command)
print(profiles_string)
# ********************

- قدم سوم: با استفاده از دستورات و توابع مربوط به string، سعی می‌کنیم که از این متن، یک لیست ایجاد کنیم که آیتم‌های آن، اسامی WIFI Network ها باشد:

# ********************
import subprocess

command = "netsh wlan show profiles"
profiles_string = subprocess.getoutput(cmd=command)

index = profiles_string.find("User profiles")

profiles_string = profiles_string[index:]
profiles_string = profiles_string.replace("User profiles", "")
profiles_string = profiles_string.replace("-------------", "")
profiles_string = profiles_string.replace("\r", "")

profiles_lines = profiles_string.split(sep="\n")

wifi_names = []
for line in profiles_lines:
if line != "":
parts = line.split(sep=":")
wifi_name = parts[1].strip()
wifi_names.append(wifi_name)

wifi_names.sort()

for wifi_name in wifi_names:
print(f"[{wifi_name}]")
# ********************

#SourceCode #SourceCode10033 #Practical #EthicalHacking
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
3👍2
📌 عنوان برنامه: برنامه‌ای بنویسید که فهرست تمام WIFI Profile های ثبت شده بر روی دستگاه‌تان را چاپ نموده و در مقابل هر یک از آن‌ها، گذرواژه مربوطه (ذخیره شده) را نمایش دهد؟

مرحله دوم

- فرض کنید که نام یکی از WIFI های شما، MobinNet110 باشد.

- قدم اول: در محیط Windows PowerShell دستور ذیل را اجرا کرده و نتیجه آن‌را مشاهده می‌کنیم:

# ********************
netsh wlan show profile name="MobinNet110" key=clear
# ********************

- قدم دوم: حال این دستور را توسط زبان برنامه‌نویسی پایتون اجرا می‌کنیم و نتیجه اجرای این دستور را در متغیری به نام profile_string ذخیره می‌کنیم:

# ********************
import subprocess

wifi_name = "MobinNet110"

command = f'netsh wlan show profile name="{wifi_name}" key=clear'
profile_string = subprocess.getoutput(cmd=command)
print(profile_string)
# ********************

- قدم سوم: با استفاده از دستورات و توابع مربوط به string، سعی می‌کنیم که از این متن، گذرواژه (password) موجود در متن را استخراج کرده و آن‌را نمایش می‌دهیم:

# ********************
import subprocess

wifi_name = "MobinNet110"

command = f'netsh wlan show profile name="{wifi_name}" key=clear'
profile_string = subprocess.getoutput(cmd=command)

index_1 = profile_string.find("Key Content")
index_2 = profile_string.find("Cost settings")

profile_string = profile_string[index_1:index_2]
profile_string = profile_string.replace(":", "")
profile_string = profile_string.replace("Key Content", "")

password = profile_string.strip()
print(f"[{password}]")
# ********************

#SourceCode #SourceCode10033 #Practical #EthicalHacking
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
2👍2
📌 عنوان برنامه: برنامه‌ای بنویسید که فهرست تمام WIFI Profile های ثبت شده بر روی دستگاه‌تان را چاپ نموده و در مقابل هر یک از آن‌ها، گذرواژه مربوطه (ذخیره شده) را نمایش دهد؟

مرحله سوم

- حال کافی است که کدهای مرحله یک و مرحله دو را در هم ادغام نماییم!

# ********************
import subprocess

command = "netsh wlan show profiles"
profiles_string = subprocess.getoutput(cmd=command)

index = profiles_string.find("User profiles")

profiles_string = profiles_string[index:]
profiles_string = profiles_string.replace("User profiles", "")
profiles_string = profiles_string.replace("-------------", "")
profiles_string = profiles_string.replace("\r", "")

profiles_lines = profiles_string.split(sep="\n")

wifi_names = []
for line in profiles_lines:
if line != "":
parts = line.split(sep=":")
wifi_name = parts[1].strip()
wifi_names.append(wifi_name)

wifi_names.sort()

for wifi_name in wifi_names:
command = f'netsh wlan show profile name="{wifi_name}" key=clear'
profile_string = subprocess.getoutput(cmd=command)

index_1 = profile_string.find("Key Content")
index_2 = profile_string.find("Cost settings")

profile_string = profile_string[index_1:index_2]
profile_string = profile_string.replace(":", "")
profile_string = profile_string.replace("Key Content", "")

password = profile_string.strip()
print(f"[{wifi_name}]: [{password}]")
# ********************

نکته: همان‌طور که ملاحظه می‌کنید، برنامه به زیبایی کار می‌کند، ولی خروجی نتایج، از نظر ظاهری و قیافه چندان جذابیت ندارد، لذا در مرحله چهارم (مرحله آخر) یک سری تکنیک‌های حرفه‌ای به این کد اضافه می‌کنیم تا نتایج مورد قبول و پسند ما قرار گیرد!

#SourceCode #SourceCode10033 #Practical #EthicalHacking
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
3👍1
📌 عنوان برنامه: برنامه‌ای بنویسید که فهرست تمام WIFI Profile های ثبت شده بر روی دستگاه‌تان را چاپ نموده و در مقابل هر یک از آن‌ها، گذرواژه مربوطه (ذخیره شده) را نمایش دهد؟

مرحله چهارم (پایانی)

🛑 یک برنامه کاربردی و هیجان‌انگیز با کلی تکنیک‌های حرفه‌ای برنامه‌نویسی!

# ********************
import os, subprocess

os.system(command="cls")

command = "netsh wlan show profiles"
profiles_string = subprocess.getoutput(cmd=command)

index = profiles_string.find("User profiles")

profiles_string = profiles_string[index:]
profiles_string = profiles_string.replace("User profiles", "")
profiles_string = profiles_string.replace("-------------", "")
profiles_string = profiles_string.replace("\r", "")

profiles_lines = profiles_string.split(sep="\n")

wifi_names = []
for line in profiles_lines:
if line != "":
parts = line.split(sep=":")
wifi_name = parts[1].strip()
wifi_names.append(wifi_name)

wifi_names.sort()

for index, wifi_name in enumerate(wifi_names):
command = f'netsh wlan show profile name="{wifi_name}" key=clear'
profile_string = subprocess.getoutput(cmd=command)

index_1 = profile_string.find("Key Content")
index_2 = profile_string.find("Cost settings")

profile_string = profile_string[index_1:index_2]
profile_string = profile_string.replace(":", "")
profile_string = profile_string.replace("Key Content", "")

password = profile_string.strip()
print(f"[{(index + 1):>2}] - [{wifi_name:<32}]: [{password}]")

print()
# ********************

#SourceCode #SourceCode10033 #Practical #EthicalHacking
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
3👍2
معروف‌ترین سایت‌ها/اپلیکیشن‌هایی که با Python نوشته شده‌اند:

1. Instagram
2. Pinterest
3. Disqus
4. Spotify
5. Dropbox
6. Uber
7. Reddit

📌 منبع:
https://DjangoStars.com

#Site #Statistics

ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
4👍2
[No_Starch_Press]_Black_Hat_Python.pdf
4.6 MB
☘️ معرفی کتاب‌های الکترونیکی ☘️

Title: Black Hat Python
Author: Justin Seitz / Tim Arnold

Published Date: 2021
Publisher: No Starch Press

Pages: 188
Edition: Second
Language: English

Description: Python Programming for Hacker and Pentesters

#Book #EthicalHacking

🆔 @Dariush_Tasdighi
🆔
@IranianExperts
🆔
@DT_PYTHON_LEARNING
.
4👍3
Forwarded from 🛑 Iranian Experts 🛑 (𝓓𝓪𝓻𝓲𝓾𝓼𝓱 𝓣𝓪𝓼𝓭𝓲𝓰𝓱𝓲)
معرفی یک سایت فوق‌العاده!
https://www.VirusTotal.com

گاهی اوقات پیش می‌آید که یک فایلی بدست ما رسیده است، که نسبت به ویروسی بودن آن مشکوک هستیم. هر چند که آن‌را توسط Antivirus خودمان، اسکن (Scan) کرده‌ایم و آنتی‌ویروس، هیچ مورد مشکوکی را شناسایی نکرده است! برای این منظور می‌توانیم وارد این سایت شده و فایل خودمان را در این سایت آپلود نموده، تا توسط حداقل ۵۰ موتور/بانک‌اطلاعاتی آنتی‌ویروس دیگر بررسی گردد!

📌 برای دوستانی که در زمینه Ethical Hacking فعالیت می‌کنند، نیز این سایت بسیار مفید می‌باشد! بدین صورت که بعد از نوشتن یک بدافزار بومی، می‌توانند از طریق این سایت، بررسی نمایند که بدافزار نوشته شده، توسط چه آنتی‌ویروس‌هایی ممکن است شناسایی شود! در ضمن، این عزیزان می‌توانند در این سایت ثبت‌نام کرده و بعد از دریافت API Key، از طریق سامانه‌های خود، اقدام به ارسال فایل‌های مشکوک نموده و آن‌ها را بررسی نمایند. البته نسخه رایگان این سایت، محدودیت‌هایی دارد که قابل چشم‌پوشی و اغماض می‌باشد.

#Site #EthicalHacking

ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
👍43
📌 عنوان برنامه: برنامه‌ای بنویسید که به سایت IMDB متصل شده و از اطلاعات درج شده در متن صفحات HTML آن:

۱. فهرست ۲۵۰ فیلم برتر جهان
۲. فهرست تمام فیلم‌هایی که در نام آن‌ها کلمات Star Wars وجود دارد
۳. فهرست ۵۰ سریال برتر که در ژانر علمی / تخیلی می‌باشند
۴. فهرست ۵۰ فیلم برتر که در ژانر علمی / تخیلی می‌باشند

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

نکته: این برنامه، برای عزیزانی نوشته شده است که هنوز در حوزه زبان برنامه‌نویسی پایتون Junior می‌باشند! در برنامه بعدی از امکانات هیجان‌انگیز زیادی استفاده می‌گردد و برنامه بعدی برای عزیزان Senior مناسب می‌باشد.

نکته: تقریبا تا پایان سال ۲۰۲۲، برای حل این تمرین، کتابخانه‌ای به نام IMDBPY وجود داشت که از ابتدای سال ۲۰۲۳، توسعه‌دهنده این کتابخانه، کتابخانه دیگری به نام Cinemagoer، با امکانات جذاب‌تری توسعه داده است که ما آخرین نسخه آن استفاده می‌کنیم!

نکته: متاسفانه پاسخ شما یک، در بعضی از مواقع کار نمی‌کند! ولی بقیه پاسخ‌ها به درستی کار می‌کنند.

# ********************
# pip install cinemagoer
# https://cinemagoer.github.io/
# https://github.com/cinemagoer/cinemagoer
# ********************
from imdb import Cinemagoer

instance = Cinemagoer()

# 1
movies = instance.get_top250_movies()
# 2
# movies = instance.search_movie(title="Star Wars")
# 3
# movies = instance.get_top50_tv_by_genres(genres="Sci-Fi")
# 4
# movies = instance.get_top50_movies_by_genres(genres="Sci-Fi")

for movie in movies:
print(movie)
# ********************

#SourceCode #SourceCode10034 #Practical #General
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
5👍2
📌 عنوان برنامه: برنامه‌ای بنویسید که به سایت IMDB متصل شده و از اطلاعات درج شده در متن صفحات HTML آن:

۱. فهرست ۲۵۰ فیلم برتر جهان
۲. فهرست تمام فیلم‌هایی که در نام آن‌ها کلمات Star Wars وجود دارد
۳. فهرست ۵۰ سریال برتر که در ژانر علمی / تخیلی می‌باشند
۴. فهرست ۵۰ فیلم برتر که در ژانر علمی / تخیلی می‌باشند

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

نکته: در این برنامه، می‌خواهیم اطلاعات برحسب سال تولید مرتب شده و در ابتدای هر سطر اطلاعاتی، شماره ردیف نمایش داده شده و در همان سطر، سال تولید، Rating، و مناسب سن بودن نیز نمایش داده شود.

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

نکته: تقریبا تا پایان سال ۲۰۲۲، برای حل این تمرین، کتابخانه‌ای به نام IMDBPY وجود داشت که از سال ۲۰۲۳، توسعه‌دهنده این کتابخانه، کتابخانه دیگری به نام Cinemagoer، با امکانات جذاب‌تری توسعه می‌دهد!

نکته: متاسفانه پاسخ شما یک، بعضی وقت‌ها کار نمی‌کند! ولی بقیه پاسخ‌ها به درستی کار می‌کنند.

# ********************
# pip install cinemagoer
# https://cinemagoer.github.io/
# https://github.com/cinemagoer/cinemagoer
# ********************
from imdb import Cinemagoer

instance = Cinemagoer()

# 1
# movies = instance.get_top250_movies()
# 2
movies = instance.search_movie(title="Star Wars")
# 3
# movies = instance.get_top50_tv_by_genres(genres="Sci-Fi")
# 4
# movies = instance.get_top50_movies_by_genres(genres="Sci-Fi")

movies.sort(key=lambda item: item["year"], reverse=True)

for index, movie in enumerate(movies):
id = movie.movieID

title = movie["title"]

year = movie["year"]

rating = "-"
if "rating" in movie:
rating = movie["rating"]

certificate = "-"
if "certificates" in movie:
certificate = movie["certificates"][0]

message = f"[{index + 1:>2}] {title:<55} Year: {year:<4} Rating: {rating:<3} Certificate: {certificate:<8}"
# message += f" [{id:>8}]"

print(message)
# ********************

#SourceCode #SourceCode10034 #Practical #General
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
👍53
❤️ سلام دوستان عزیزم ❤️

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

🔴 متاسفانه اکثر Source Code های موجود در اینترنت، دوره‌های آموزشی، داخلی یا خارجی و غیره، معمولا در کمال شلختگی نوشته شده، فلسفه Source Code ها بعضا مطرح نگردیده، کدها قدیمی و یا بلااستفاده و غیره می‌باشند!

🟢 ولی در این کانال، تمام Source Code ها، در کمال دقت، وسواس و با رعایت تمام تکنیک‌های مربوط به Clean Code, Beatiful Code, Best Practice نوشته می‌شوند و صرفا یک Copy / Paste ساده نخواهد بود! لذا از شما عزیزان، صمیمانه تقاضا می‌گردد، در صورتی که در متون و یا Source Code ها، ایراد و یا اشکالی مشاهده نمودید، آن‌را به اینجانب اعلام نموده تا ضمن آن‌که در اسرع وقت، نسبت به اصلاح آن‌ها اقدام نماییم، نام شما در همان مطلب درج خواهد گردید و از حسن نظر و دقت و توجه شما، کمال تقدیر و تشکر به عمل خواهد آمد. 👌

با تشکر و احترام
داریوش تصدیقی 🙏

ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
کانال پایتون:
@DT_PYTHON_LEARNING
.
Please open Telegram to view this post
VIEW IN TELEGRAM
23👍6
🔴 Learning Main Guard Pattern in Python!

❤️ سلام دوستان عزیزم، انشاءالله در خصوص مفهوم Main Guard و فلسفه آن در زبان برنامه‌نویسی پایتون، در دوره آموزش جامع پایتون، توضیحات مفصلی خواهم داد! ولی تا قبل از آن لازم دیدم که به شما عزیزان تذکر دهم که برای نوشتن برنامه‌های پایتون، مثلا برای چاپ ساده عبارت Hello, World و غیره، به جای نوشتن دستور ذیل:

# ********************
print("Hello, World!")
# ********************

باید (بهتر است) از دستورات (روش) ذیل استفاده نمایید:

# ********************
def main():
print("Hello, World!")

if __name__ == "main":
main()
# ********************

📌 تذکر: در تمام سورس‌کدهایی که تاکنون در این کانال نوشته شده و یا نوشته خواهند شد، به دلیل آن‌که حجم سورس‌کدها زیاد نشود، از این الگوی برنامه‌نویسی استفاده نخواهیم کرد، ولی شما باید در پروژه‌های خود حتما از این الگو استفاده نمایید!

#BestPractice

🆔 @Dariush_Tasdighi
🆔
@IranianExperts
🆔
@DT_PYTHON_LEARNING
.
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3
Media is too big
VIEW IN TELEGRAM
🔴 بخشی از دوره حضوری پایتون برای نوجوانان در موسسه آموزشی سماتک

نکته:
دوره بسیار جذاب و هیجان‌انگیزی بود، ۲۴ نوجوان و جوان مستعد، باهوش و با انگیزه، که همگی توانستند با موفقیت این دوره را سپری کرده و نمره خوبی دریافت نمایند...

نکته: علاقه، تلاش و پشت‌کار این عزیزان، به حدی مرا به وجد آورده و هیجان‌زده کرد که تصمیم گرفتم این کانال پایتون را راه‌اندازی نمایم...

#Movie

🆔 @Dariush_Tasdighi
🆔 @IranianExperts
🆔 @DT_PYTHON_LEARNING
.
Please open Telegram to view this post
VIEW IN TELEGRAM
21👍6
📌 عنوان برنامه شماره یک: برنامه‌ای بنویسید که محتوای دو متغیر عددی (x, y) را با استفاده از متغیر کمکی تغییر دهد؟
- راهنمایی: در سه خط

# ********************
x = 10
y = 15

z = x
x = y
y = z
# ********************

📌 عنوان برنامه شماره دو: برنامه‌ای بنویسید که محتوای دو متغیر عددی (x, y) را بدون! استفاده از متغیر کمکی تغییر دهد؟
- راهنمایی: در سه خط

# ********************
x = 10
y = 15

x = x + y
y = x - y
x = x - y
# ********************

📌 عنوان برنامه شماره سه: برنامه‌ای بنویسید که محتوای دو متغیر عددی (x, y) را بدون! استفاده متغیر کمکی، و صرفا در یک خط تغییر دهد؟

# ********************
x = 10
y = 15

x, y = y, x
# ********************

نکته مهم: پاسخ هیجان‌انگیز برنامه شماره سه، صرفا در زبان برنامه‌نویسی پایتون امکان‌پذیر است! و نمونه آن (تا جایی که در جریان هستم) در زبان‌های برنامه‌نویسی دیگر وجود ندارد!

نکته: دستور ذیل:

x, y = y, x

در واقع معادل دستور ذیل می‌باشد (Tupple) که با یک عملیات Unzip، ما را به نتیجه می‌رساند:

x, y = (y, x)

#SourceCode #SourceCode10035 #Basic

🆔 @Dariush_Tasdighi
🆔
@IranianExperts
🆔
@DT_PYTHON_LEARNING
.
7👍3
📌 عنوان برنامه: برنامه‌ای بنویسید که متنی (sentence) که برای آن تعریف شده است را بررسی کرده، و حرف (حروفی) که بیشترین تکرار را دارد(ند) را به ما نمایش دهد:

# ********************
sentence = "This is a common interview question"
# ********************

نکته: با توجه به متن فوق، پاسخ صحیح حروف i و فضای خالی، با پنج‌بار تکرار می‌باشد.

نکته مهم:
این سوالی است که معمولا در اکثر مصاحبه‌های استخدامی پایتون، از عزیزان پرسیده می‌شود!

# ********************
sentence = "This is a common interview question"

char_frequency = {}
for char in sentence:
if not char in char_frequency:
char_frequency[char] = 1
else:
char_frequency[char] += 1

items = char_frequency.items()
sorted_char_frequency = sorted(items, key=lambda item: item[1], reverse=True)

max_count = sorted_char_frequency[0][1]
print(f"Max Count: {max_count}")

for item in sorted_char_frequency:
if item[1] == max_count:
print(f"[{item[0]}]")
else:
break
# ********************

#SourceCode #SourceCode10036 #Basic

🆔 @Dariush_Tasdighi
🆔 @IranianExperts
🆔 @DT_PYTHON_LEARNING
.
👍62
❤️ سلام دوستان عزیزم ❤️

🔴 برای یک برنامه هیجان‌انگیز و کاربردی دیگر، با زبان برنامه‌نویسی پایتون آماده شوید...

شرح برنامه:‌ برنامه‌ای که اطلاعات اکانت Github خودمان و یا شخص دیگری را دریافت کرده، و به طور خودکار، تمام Repository های Fork نشده آن اکانت (Account) را شناسایی کرده، و در ضمن، نام Branch اصلی هر یک از آن Repository ها را استخراج کرده (master / main)، سپس پوشه‌ای به همان نام Account ایجاد نموده، و کلیه سورس‌کدهای هر یک از Repository ها را، در قالب یک فایل ZIP، به زیبایی دانلود می‌کند!

📌 نکته: ضمنا برنامه کاملا هوشمند بوده و اگر مثلا چند هفته و یا چند ماه بعد، مجددا برنامه را برای همان اکانت اجرا نماییم، صرفا Repository های Update شده را دانلود می‌کند!

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

🔴 نکته مهم: قابل توجه شاگردان عزیز و گرامی اینجانب، در کلاس‌های عمومی C# Fundamental و یا Programming in C# 1، و البته دیگر عزیزان: شما از این پس می‌توانید، با استفاده از این برنامه، هر از گاهی، نسبت به دانلود کلیه سورس‌کدهای موجود در اکانت‌های Github اینجانب اقدام نمایید:

https://github.com/dariush-tasdighi
https://github.com/learning-csharp

#SourceCode #SourceCode10037 #Practical #EthicalHacking

🆔 @Dariush_Tasdighi
🆔
@IranianExperts
🆔
@DT_PYTHON_LEARNING
.
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍2