✨ نمونه سوالات جالب با پایتون
2️⃣ تشخیص عدد کامل (Perfect Number)
عدد کامل در ریاضیات به عددی گفته میشود که مجموع مقسومعلیههای مثبتی (غیر از خودش) برابر خود عدد باشد. مثلا ۶ یک عدد کامل است چون مقسومعلیههای مثبتش (به جز خودش) ۱، ۲ و ۳ هستند و 1+2+3=6. عدد کامل بعدی ۲۸ است (1+2+4+7+14=28).
برنامهای بنویسید که یک عدد را گرفته و تشخیص دهد آیا کامل است یا خیر.
# Daryaft adad az karbar
number = int(input("Yek adad vared kon: "))
# Hesab kardan majmoo maghsoom alayh ha
sum_divisors = 0
i = 1
while i < number:
if number % i == 0:
sum_divisors += i
i += 1
# Check kardan kamil boodan
if sum_divisors == number:
print(f"Adad {number} adad kamil ast!")
else:
print(f"Adad {number} adad kamil nist!")
💯 @PythonForYou 🧑💻👩💻
✨ نمونه سوالات جالب با پایتون
3️⃣ تولید مثلث پاسکال
مثلث پاسکال یک آرایش مثلثی از اعداد است که هر عدد داخل آن برابر مجموع دو عدد بالای خودش است. ردیف اول آن ۱ است، ردیف دوم 1 1، ردیف سوم 1 2 1، ردیف چهارم 1 3 3 1 و الی آخر. معلمان ریاضی گاهی از دانشآموزان میخواهند چند ردیف اول این مثلث را بنویسند.
برنامهای بنویسید که یک عدد rows بگیرد و مثلث پاسکال را تا آن تعداد ردیف چاپ کند.
# Daryaft tedad radif ha az karbar
rows = int(input("Tedad radif ha ro vared kon: "))
# Sakht mesal pascal
pascal = []
row = 0
while row < rows:
# Sakht radif jadid
new_row = []
col = 0
while col <= row:
# Agar avval ya akhar radif bashe, 1 bezar
if col == 0 or col == row:
new_row.append(1)
else:
# Majmoo do adad balayi
new_row.append(pascal[row-1][col-1] + pascal[row-1][col])
col += 1
pascal.append(new_row)
row += 1
# Chap kardan mesal pascal
row = 0
while row < rows:
# Chap kardan space baraye align
print(" " * (rows - row - 1), end="")
col = 0
while col <= row:
print(pascal[row][col], end=" ")
col += 1
print() # Berim be radif badi
row += 1
💯 @PythonForYou 🧑💻👩💻
✨ نمونه سوالات جالب با پایتون
4️⃣ برنامهای بنویسید که یک رشته را از ورودی دریافت کند و تعداد حروف الفبایی، تعداد رقمها و تعداد سایر نمادها (کاراکترهایی که نه حرف هستند و نه رقم) را در آن رشته محاسبه و گزارش کند. به عنوان مثال برای ورودی “P@#yn26at^&i5ve” باید خروجی اعلام کند که ۸ حرف، ۳ رقم و ۴ علامت ویژه موجود است.
# Daryaft reshte az karbar
string = input("Yek reshte vared kon: ")
# Shomaresh horoof, argham va alamat
letter_count = 0
digit_count = 0
symbol_count = 0
index = 0
while index < len(string):
char = string[index]
if char.isalpha(): # Check kardan horoof alfaba
letter_count += 1
elif char.isdigit(): # Check kardan argham
digit_count += 1
else: # Alamat digar
symbol_count += 1
index += 1
# Chap natije
print(f"Tedad horoof alfaba: {letter_count}")
print(f"Tedad argham: {digit_count}")
print(f"Tedad alamat vije: {symbol_count}")
💯 @PythonForYou 🧑💻👩💻
📱 4 پرامپت ChatGPT برای مشورت با 4 نابغه تاریخ
📰میخوای با دیوید گاگینز رو در رو صحبت کنی؟ یا بشینی پای صحبت های چارلی مانگر؟ یا حتی گفت و گو با متخصص رهبری و هدف یعنی سایمون سینک؟!
1️⃣ دیوید گاگینز - راز دردناک رشد بیوقفه
• مثل دیوید گاگینز فکر کن نماد تاب آوری و غلبه بر محدودیتها به من نشون بده افراد خارق العاده چطور از حد خودشون عبور میکنن ذهن باورها و رفتارهاشون رو تحلیل کن حتی وقتی شرایط سخته و نا امید کننده ست.
مثال های واقعی بیار و اگه لازمه با حقیقت های ناراحت کننده منو روبرو کن
🔢 چارلی مانگر - طرز فکر خارقالعادهها
• مثل چارلی مانگر فکر کن استاد مدلهای ذهنی ۵ مدل ذهنی جدید و خاص بساز که تصمیم گیری ها مو ساده کنه به من کمک کن آدمها رو بهتر بفهمم از اشتباهات درس بگیرم و فرصت های رشد رو کشف کنم. این مدل ها باید هم ساده باشن هم آنقدر قوی که سبک فکرم رو برای همیشه عوض کنن
🔢 سایمون سینک - ذهنیت میراث ساز
• مثل «سایمون سینک فکر کن متخصص رهبری و هدف. هدف من فقط رشد نیست میخوام چیزی بسازم که اثر موندگار داشته باشه به من ذهنیتی یاد بده که تاثیر نفوذ و درآمدم رو چند برابر کنه از تاکتیک ها فراتر برو و تغییرات ذهنی ای رو نشونم بده که یه رهبر واقعی رو از بقیه متمایز می کنه.
🔢 وارن بافت - نقشه ثروت آینده من
• مثل وارن بافت فکر کن بزرگترین سرمایه گذار دنیا خودم رو در ۱۰ سال آینده تصور کن با ذهنیتی مثل اون نسخه از من چه innovation يا abundance leadership چیزهایی رو بلده؟ چی رو یاد گرفته و چی رو رها کرده بر اساس این ذهنیت یک برنامه تمرینی بساز که باعث بشه من غیر قابل جایگزین در بازار باشم
💯 @PythonForYou 🧑💻👩💻
تابع تو پایتون چیه و چرا باید بلدش باشیم؟ 🤔
امروز قراره با یکی از مهمترین ابزارهای پایتون آشنا بشیم: توابع! تابع مثل یه ماشین جادویی تو برنامهنویسیه. یه سری دستور مینویسی، یه اسم براش انتخاب میکنی، و هر وقت لازم شد صداش میکنی تا کارتو انجام بده. انگار یه دستیار خفن داری که همیشه آمادهست! 🤖
فکر کن تو یه برنامه داری که باید چند بار یه پیغام خاص (مثلاً "Welcome to coding!") رو چاپ کنی. اگه بخوای هر بار print بنویسی، کدت شلوغ میشه و اگه بخوای پیغامو عوض کنی، باید همهجا رو تغییر بدی. 😣 با تابع، فقط یه بار کد رو مینویسی و هر جا لازم شد صداش میکنی. اینجوری هم وقتت ذخیره میشه، هم کدت تمیز و مرتب میمونه.
✨تو پایتون، تابع با کلمه def تعریف میشه. بیاید یه مثال ساده ببینیم:
def say_welcome():
print("Welcome to coding! :D") # Print a welcome message
say_welcome()
say_welcome()
🔹 خروجی:
Welcome to coding! :D
Welcome to coding! :D
🔰 این کد چیکار میکنه؟
تابع say_welcome رو تعریف کردیم که یه پیغام چاپ میکنه.
دو بار صداش کردیم، پس پیغام دو بار چاپ میشه.
اگه بخوام پیغام رو به "Let's code!" تغییر بدم، فقط یه خط تو تابع عوض میشه.
✅ چرا تابع مهمه؟
- صرفهجویی تو وقت: بهجای نوشتن چندباره یه کد، یه تابع مینویسی و صداش میکنی.
- کد خواناتر: برنامهت مثل یه کتاب مرتب میشه که همه راحت میفهمنش.
- آسون برای تغییر: اگه بخوای چیزی رو عوض کنی، فقط تو تابع تغییر میدی، نه کل برنامه.
✨ مثال روزمره: فرض کن تو یه کافیشاپ کار میکنی و هر روز باید یه قهوه خاص درست کنی. بهجای اینکه هر بار مراحل (مثل آسیاب قهوه، دم کردن، اضافه کردن شکر) رو از اول بنویسی، یه دستورالعمل به اسم make_coffee مینویسی و فقط صداش میکنی. ☕️
❓ تمرین: یه تابع بنویسید که یه پیغام خوشامدگویی با اسم خودتون چاپ کنه (مثلاً "Hey Ali, you're a coding star!"). تابع رو سه بار صدا کنید.
💯 @PythonForYou 🧑💻👩💻
چرا تابعها قلب برنامهنویسیان؟ 🛠
حالا که فهمیدیم تابع چیه، بیاید ببینیم چرا انقدر تو برنامهنویسی مهمان. تابعها مثل یه سوپرقهرمانن که کدت رو نجات میدن! 🦸♂️ کمک میکنن برنامهت تمیز، مرتب، و قابلاستفاده دوباره باشه.
✅ مزایای تابعها:
- تکرار کمتر: بهجای کپی کردن یه کد چند بار، یه تابع مینویسی و کار تمومه.
- خطای کمتر: اگه یه اشتباه تو کدت باشه، فقط تو تابع درستش میکنی، نه تو صد جای برنامه.
- ماژولار بودن: تابعها کدت رو تکهتکه میکنن، مثل قطعات پازل. 🧩 اینجوری برنامهت خواناتر و قابلمدیریته.
- استفاده چندباره: یه تابع خوب میتونی تو پروژههای دیگه هم استفاده کنی.
✨ مثال:
def motivate_me():
print("You're doing awesome, keep it up! 🚀") # Print a motivational message
motivate_me()
motivate_me()
motivate_me()
خروجی:
You're doing awesome, keep it up! 🚀
You're doing awesome, keep it up! 🚀
You're doing awesome, keep it up! 🚀
🔰 این کد چیکار میکنه؟
تابع motivate_me یه پیغام انگیزشی چاپ میکنه.
سه بار صداش کردیم، پس سه بار چاپ میشه.
اگه بخوام پیغامو به "You rock!" تغییر بدم، فقط یه خط تو تابع عوض میشه.
✨ بدون تابع چی میشد؟
بدون تابع، باید اینجوری مینوشتی:
print("You're doing awesome, keep it up! 🚀")
print("You're doing awesome, keep it up! 🚀")
print("You're doing awesome, keep it up! 🚀")
حالا اگه بخوای پیغامو عوض کنی، باید سه جا تغییر بدی. با تابع، فقط یه جا! 😎
✨ مثال واقعی: فرض کن داری یه وبسایت میسازی که هر بار کاربر وارد میشه، یه پیغام خوشامدگویی میبینه. با تابع، فقط یه بار کد خوشامدگویی رو مینویسی و هر بار صداش میکنی.
❓ تمرین: یه تابع بنویسید که یه پیغام انگیزشی (مثلاً "You can achieve anything!") رو ۴ بار چاپ کنه.
💯 @PythonForYou 🧑💻👩💻
پارامترها تو تابعها چطور کار میکنن؟ 🎛
حالا که تابعهای ساده رو یاد گرفتیم، بیاید یه قدم جلوتر بریم. تابعها میتونن پارامتر بگیرن، یعنی ورودیهایی که بهشون میدی تا کارای مختلف انجام بدن. مثل وقتی تو یه دستگاه اسموتیساز، میوههای مختلف میریزی و اسموتیهای متفاوت میگیری! 🍓🍌
✨ پارامترها به تابع اجازه میدن با دادههای مختلف کار کنن. مثلاً اگه بخوای یه تابع بسازی که دو عدد رو جمع کنه:
def add_numbers(a, b):
print(a + b) # Print the sum of two numbers
add_numbers(5, 3)
add_numbers(10, 20)
🔹 خروجی:
8
30
🔰 این کد چیکار میکنه؟
- تابع add_numbers دو پارامتر a و b میگیره.
- هر بار که تابع رو صدا میکنی، عددایی که میدی (مثل 5 و 3) جای a و b میشینن و تابع جمعشون رو چاپ میکنه.
- تو مثال بالا، اول 5+3=8 و بعد 10+20=30 چاپ شد.
✨ یه مثال باحالتر: فرض کن میخوای یه تابع بسازی که یه پیام شخصیسازیشده به کاربر نشون بده:
def greet(name):
print(f"Hey {name}, you're a coding pro!") # Print a personalized message
greet("Ali")
greet("Sara")
🔹 خروجی:
Hey Ali, you're a coding pro!
Hey Sara, you're a coding pro!
✅ نکتههای کلیدی:
- پارامترها میتونن هر نوع دادهای باشن: عدد، رشته، لیست، یا حتی یه تابع دیگه!
- موقع صدا کردن تابع، باید به همون تعداد پارامتر ورودی بدی و ترتیبشون درست باشه.
- اسم پارامترها رو معنادار انتخاب کن (مثل name بهجای x) تا کدت خوانا باشه.
🛑 مثال اشتباه:
greet() # Error! TypeError: greet() missing 1 required positional argument: 'name'
این خطا چون تابع greet یه پارامتر لازم داره، ولی ما چیزی بهش ندادیم.
✨ مثال روزمره: فکر کن داری یه اپلیکیشن برای سفارش غذا میسازی. یه تابع مینویسی که نوع غذا و تعدادش رو بهعنوان پارامتر بگیره و سفارش رو چاپ کنه. اینجوری هر کاربر میتونه غذای خودشو سفارش بده!
❓ تمرین: یه تابع بنویسید که دو عدد بگیره و ضربشون رو چاپ کنه. تابع رو با سه جفت عدد مختلف (مثلاً 4 و 5، 10 و 2، 3 و 7) صدا کنید.
💯 @PythonForYou 🧑💻👩💻
تابعها و مقدار بازگشتی (return) چطور کار میکنن؟ 🎁
حالا که پارامترها رو یاد گرفتیم، بیاید یه ویژگی باحال دیگه از تابعها ببینیم: مقدار بازگشتی یا return. تابعها میتونن یه چیزی بهت برگردونن، مثل وقتی یه دستگاه بستنیساز بهت یه بستنی خوشمزه میده! 🍦
✨ با return میتونی نتیجه کار تابع رو ذخیره کنی و بعداً باهاش کار کنی. مثلاً:
def multiply(a, b):
return a * b # Return the product of two numbers
result = multiply(4, 5)
print(result) # Print the stored result
🔹 خروجی:
20
🔰 این کد چیکار میکنه؟
تابع multiply دو عدد a و b رو میگیره و ضربشون رو با return برمیگردونه.
نتیجه (20) تو متغیر result ذخیره میشه و بعد چاپ میشه.
میتونی از result تو محاسبات دیگه هم استفاده کنی!
📌 چرا return مهمه؟
بدون return، تابع فقط کارشو انجام میده (مثل چاپ یه پیغام) و چیزی بهت نمیده.
با return، میتونی خروجی تابع رو ذخیره کنی و تو برنامهت باهاش کار کنی.
✨ یه مثال واقعی: فرض کن داری یه برنامه برای فروشگاه آنلاین میسازی. یه تابع مینویسی که تخفیف یه محصول رو حساب کنه و قیمت نهایی رو برگردونه:
def calculate_discount(price, discount_percent):
final_price = price - (price * discount_percent / 100)
return final_price # Return the discounted price
price = calculate_discount(1000, 20)
print(f"Final price: {price}") # Print the final price
🔹 خروجی:
Final price: 800.0
📌 نکته: اگه تابع return نداشته باشه، پایتون بهصورت پیشفرض None برمیگردونه. مثلاً:
pythondef say_hi():
print("Hi, coder!") # Just print, no return
result = say_hi()
print(result) # Print what the function returns
🔹 خروجی:
Hi, coder!
None
✨ مثال روزمره: فکر کن داری یه اپلیکیشن فیتنس میسازی. یه تابع مینویسی که کالری مصرفشده تو یه ورزش رو حساب کنه و برگردونه تا بتونی تو برنامهت ازش استفاده کنی.
❓ تمرین: یه تابع بنویسید که دو عدد بگیره، تفریقشون کنه و نتیجه رو برگردونه. نتیجه رو تو یه متغیر ذخیره کنید و با دو جفت عدد مختلف تست کنید.
💯 @PythonForYou 🧑💻👩💻
تابع بدون return چه فرقی داره؟ 🤔
تا حالا دیدیم که تابعها میتونن با return یه خروجی بهمون بدن. اما بعضی وقتا تابع فقط یه کار انجام میده (مثل چاپ یه پیغام) و چیزی برنمیگردونه. بیاید ببینیم اینا چطور کار میکنن!
✨ مثال:
def cheer_up():
print("You're unstoppable, keep coding! :D") # Print a cheer message
cheer_up()
print(cheer_up()) # Try to print what the function returns
🔹 خروجی:
You're unstoppable, keep coding! :D
You're unstoppable, keep coding! :D
None
🔰 این کد چیکار میکنه؟
تابع cheer_up یه پیغام انگیزشی چاپ میکنه و return نداره.
وقتی تابع رو صدا میکنیم، پیغام چاپ میشه.
اما اگه بخوایم نتیجه تابع رو چاپ کنیم (print(cheer_up()))، چون چیزی برنمیگردونه، پایتون None چاپ میکنه.
✅ کی از تابع بدون return استفاده کنیم؟
- وقتی فقط میخوای یه کار انجام بشه، مثل چاپ پیغام، ذخیره تو فایل، یا نمایش یه گرافیک.
- اگه نیازی به ذخیره خروجی تابع نداری، return لازم نیست.
💢 مقایسه:
def add_with_return(a, b):
return a + b # Return the sum
def add_without_return(a, b):
print(a + b) # Just print the sum
result1 = add_with_return(3, 4)
result2 = add_without_return(3, 4)
print(f"With return: {result1}") # Print stored result
print(f"Without return: {result2}") # Print what the function returns
🔹 خروجی:
7
With return: 7
Without return: None
💥 نکتههای کلیدی:
- تابع با return یه خروجی بهت میده که میتونی ذخیره کنی یا باهاش کار کنی.
- تابع بدون return فقط کارشو انجام میده و None برمیگردونه.
- اگه بخوای خروجی تابع رو تو محاسبات دیگه استفاده کنی، حتماً باید return داشته باشه.
✨ مثال روزمره: فرض کن داری یه برنامه برای مدیریت تکالیف میسازی. یه تابع مینویسی که یه پیغام یادآوری (مثل "Homework due tomorrow!") چاپ کنه. چون فقط میخوای پیغام رو نشون بده، نیازی به return نداره.
❓ تمرین: یه تابع بنویسید که یه پیغام انگیزشی چاپ کنه (مثلاً "You're a coding rockstar!") و چیزی برنگردونه. تابع رو صدا کنید و نتیجهش رو چاپ کنید تا ببینید None میگیرید.
💯 @PythonForYou 🧑💻👩💻
تابع با چند پارامتر چطوره؟ 🎉
تا حالا تابعهایی با یک یا دو پارامتر دیدیم. اما تابعها میتونن کلی پارامتر بگیرن! مثلاً میتونی یه تابع بسازی که اطلاعات یه نفر (مثل اسم، سن، شهر) رو بگیره و یه پیغام مرتب چاپ کنه.
✨ مثال:
def print_info(name, age, city):
print(f"Name: {name}, Age: {age}, City: {city}") # Print user info
print_info("Ali", 18, "Tehran")
print_info("Sara", 20, "Shiraz")
🔹 خروجی:
Name: Ali, Age: 18, City: Tehran
Name: Sara, Age: 20, City: Shiraz
🔰 این کد چیکار میکنه؟
تابع print_info سه پارامتر میگیره: name (رشته)، age (عدد)، و city (رشته).
هر بار که تابع رو صدا میکنی، اطلاعات مختلف میدی و تابع یه پیغام قشنگ چاپ میکنه.
پارامترها میتونن نوعهای مختلف داشته باشن، فقط باید ترتیبشون موقع صدا کردن درست باشه.
📌 نکتههای مهم:
- ترتیب پارامترها خیلی مهمه! اگه ترتیب رو اشتباه کنی، خروجی بههمریخته میشه.
- اسم پارامترها رو معنادار انتخاب کن تا کدت خوانا باشه.
✨ مثال اشتباه:
print_info(18, "Ali", "Tehran") # Wrong order!
خروجی:
Name: 18, Age: Ali, City: Tehran
✨ مثال درست با نامگذاری پارامترها: میتونی موقع صدا کردن تابع، اسم پارامترها رو مشخص کنی تا ترتیب مهم نباشه:
print_info(age=18, name="Ali", city="Tehran") # Works fine!
✨ مثال روزمره: فرض کن داری یه اپلیکیشن برای ثبتنام تو یه دوره برنامهنویسی میسازی. یه تابع مینویسی که اطلاعات دانشجو (اسم، سن، شهر، زبان مورد علاقه) رو بگیره و نشون بده.
❓ تمرین: یه تابع بنویسید که چهار پارامتر بگیره: اسم، سن، شهر، و غذای مورد علاقه. تابع باید یه پیغام قشنگ چاپ کنه (مثلاً "Ali, 18, from Tehran, loves pizza!"). تابع رو با دو مجموعه اطلاعات مختلف صدا کنید.
💯 @PythonForYou 🧑💻👩💻
پارامترهای پیشفرض تو تابعها چیه؟ 🎛
یه ویژگی خفن تو تابعها اینه که میتونی برای پارامترهاشون مقدار پیشferض بذاری. یعنی اگه موقع صدا کردن تابع، به اون پارامتر چیزی ندی، تابع از مقدار پیشفرض استفاده میکنه. مثل وقتی تو یه دستگاه قهوهساز، شکر رو بهصورت پیشفرض روی "متوسط" تنظیم میکنی! ☕️
✨ مثال:
def greet(name="Guest"):
print(f"Hello {name}, welcome to Python!") # Print a greeting
greet("Ali") # Use provided name
greet() # Use default name
🔹 خروجی:
Hello Ali, welcome to Python!
Hello Guest, welcome to Python!
🔰 این کد چیکار میکنه؟
تابع greet یه پارامتر name داره که مقدار پیشفرضش "Guest"ه.
اگه موقع صدا کردن تابع، اسمی بدی (مثل "Ali")، از همون استفاده میکنه.
اگه چیزی ندی، از مقدار پیشفرض ("Guest") استفاده میکنه.
✅ چرا پارامتر پیشفرض باحاله؟
- باعث میشه تابع انعطافپذیرتر باشه.
- اگه بعضی پارامترها معمولاً یه مقدار ثابت دارن، لازم نیست هر بار بنویسیشون.
✨ یه مثال واقعی: فرض کن داری یه برنامه برای رزرو رستوران میسازی. یه تابع مینویسی که تعداد نفرات رو بگیره، ولی اگه کسی تعداد نگفت، بهصورت پیشفرض برای 2 نفر رزرو کنه:
def book_table(name, people=2):
print(f"Table for {people} reserved for {name}") # Print reservation info
book_table("Sara", 4)
book_table("Ali")
🔹 خروجی:
Table for 4 reserved for Sara
Table for 2 reserved for Ali
📌 نکتههای مهم:
- پارامترهای پیشفرض باید بعد از پارامترهای بدون پیشفرض تعریف بشن. مثلاً این اشتباهه:
def wrong_func(name="Guest", age): # SyntaxError!
print(name, age)
- میتونی چند پارامتر پیشفرض داشته باشی، ولی ترتیب مهمه.
❓ تمرین: یه تابع بنویسید که دو پارامتر بگیره: اسم و پیام خوشامدگویی. پیام پیشفرض باشه "Welcome to coding!". تابع رو یه بار با اسم و پیام دلخواه، و یه بار فقط با اسم صدا کنید.
💯 @PythonForYou 🧑💻👩💻