برنامهنویسی، همانند شعبدهبازی، به شما قدرتی جادویی میبخشد تا از دل هیچ، چیزهای شگفتانگیزی خلق کنید که حیرت همگان را برانگیزد. فراتر از این، با نوشتن چند خط کد، میتوانید دنیایی واقعی بسازید که کار میکند!
با برنامهنویسی میتوانید دادههای خام را تحلیل و از آنها دانش استخراج کنید، کارهای خستهکننده را به طور خودکار انجام دهید و حتی بازیهای پر طرفدار بسازید. در این دنیای شگفتانگیز، خلاقیت شما کلید دستیابی به چیزهای باورنکردنی است. به دنیای برنامهنویسی خوش آمدید!
اما از کجا شروع کنیم؟ پایتون، غول مهربان زبانهای برنامهنویسی، ابزاری قدرتمند و در عین حال به طرز شگفتانگیزی ساده است.
اجازه دهید سفری کوتاه به دنیای قابلیتهای پایتون داشته باشیم: از چاپ پیام ساده "سلام، دنیا!" بر روی صفحه نمایش و فال و بازی گرفته تا نحوه نمایش دادهها با کد. در ادامه این مسیر، پتانسیل عظیم پایتون در توسعه وب، تجزیه و تحلیل دادهها، هوش مصنوعی و موارد بسیار دیگر در انتظار شماست.
آیا آمادهاید با دنیای جدیدی از ویژگیهای کامپیوتر خود آشنا شوید؟ پس کمربندها را ببندید که ماجراجویی پایتونی به زودی آغاز میشود!
این محیط کدنویسی از Binder برای اجرای کدها در سرور استفاده میکند. ممکن است کمی زمان برای اتصال به سرور نیاز باشد.
برای برنامه نویسان، برنامه «سلام، دنیا!» مشابه یک آیین سنتی است. این کد کوتاه، یک پیام ساده ولی بسیار پر اهمیت با خود دارد. اول آنکه نشان میدهد همه چیز به درستی کار میکند. دوم آنکه فرد میتواند خود مستقیم با کامپیوتر صحبت کند. این اولین قدم در مسیر ایجاد برنامههای پیچیدهتر است. برای بسیاری از مبتدیان، لحظهای که عبارت «سلام دنیا!» را بر روی نمایشگر خود میبینند نشانه ملموسی است که ماجراجویی کد نویسیشان آغاز شده است.
بر روی دکمه "run" کلیک کنید تا اولین برنامهتان اجرا شود! 😉
print("سلام، دنیا!")
بیایید با آنچه که یاد گرفتهایم، کارهای جالبتری انجام دهیم. کامپیوترها میتوانند فراتر از یک نمایشگر ساده باشند. تصور کنید دنیا چه جای هیجانانگیزتری است اگر با کامپیوترها تعامل داشته باشیم و از آنها پیامهای شخصیسازیشده، حقایق جالب یا حتی پیشبینیهای عجیب و غریب دریافت کنیم. همه اینها فقط با چند خط کد قابلدسترسی هستند. مثال بعدی به شما این امکان را میدهد تا طعم این قدرت را بچشید. این مثال با استفاده از اعداد تصادفی، یک فال دیجیتال برای شما نمایش میدهد!
ای حافظ شیرازی! تو محرم هر رازی!
import random
# List of poems
poem = [
"جمالِ شخص، نه چشم است و زلف و عارض و خال\nهزار نکته در این کار و بارِ دلداریست",
"سوادِ لوح بینش را عزیز از بهر آن دارم\nکه جان را نسخهای باشد ز لوحِ خالِ هندویت",
"یا رب آن شاهوَشِ ماهرخِ زهرهجبین\nدُرِّ یکتایِ که و گوهر یکدانهٔ کیست؟",
"دل به امّیدِ صدایی که مگر در تو رسد\nنالهها کرد در این کوه که فرهاد نکرد",
"میخواسْت گُل که دَم زَنَدَ ازْ رَنگ و بویِ دوست،\nاز غیرتِ صَّبا نَفَسَش در دهان گرفت",
"شد چمان در چمنِ حسن و لطافت لیکن\nدر گلستانِ وصالش نَچَمیدیم و برفت",
"مرغِ زیرک نزند در چمنش پرده سرای\nهر بهاری که به دنباله، خزانی دارد"
]
# Generate a random number to pick a poem from the list
random_index = random.randint(0, len(poem) - 1)
# Print the chosen fortune
print(f"فال امروز:\n{poem[random_index]}")
حالا بیایید ببینیم برنامه چگونه کار میکند! در خط اول با "import random" ابزاری را به کار میگیریم که به کد ما اجازه میدهد به صورت تصادفی چیزی را انتخاب کند، درست مانند تاس ریختن!
دوباره کد را اجرا کنید تا فال جدیدی دریافت کنید و ببینید حافظ و شاخه نباتش چه رازی را بر شما آشکار میکند!
حاضرید چالشی را امتحان کنید؟ این برنامه یک بازی حدس زدن اجرا میکند که در آن کامپیوتر عددی بین ۱ تا ۱۰۰ را به طور تصادفی انتخاب میکند و شما باید آن را حدس بزنید! آیا میتوانید در چند تلاش آن را پیدا کنید؟ این برنامه از دستورهای شرطی برای بررسی اینکه حدس شما خیلی زیاد، خیلی کم یا درست است، و از یک حلقه برای ادامهی درخواست حدس تا زمانی که موفق شوید، استفاده میکند.
دکمهی «run» را کلیک کنید و ببینید آیا میتوانید عدد مخفی را حدس بزنید! هرچه تعداد تلاشهایتان کمتر باشد، بهتر است.
import random
# The computer generates a random secret number between 1 and 100
secret_number = random.randint(1, 100)
guess = 0 # Initialize guess variable
tries = 0 # Initialize number of tries
# Loop to keep guessing until the user finds the secret number
while guess != secret_number:
# Get the user's guess
message = "یک عدد بین ۱ تا ۱۰۰ حدس بزنید!"
if tries:
message = "دوباره حدس بزنید:"
guess = int(input(message))
tries += 1 # Increment number of tries
# Check if the guess is too high, too low, or correct using if statements
if guess > secret_number:
print("حدس شما خیلی بالاست!")
elif guess < secret_number:
print("حدس شما خیلی پایین است!")
else:
print(f"تبریک!\n شما با {tries} بار تلاش توانستید عدد را پیدا کنید.")
از بازی لذت بردید؟ نکتهی جالب اینجاست که میتوانیم این کد را کمی تغییر دهیم و کاری کنیم که کامپیوتر عدد شما را حدس بزند! به این فکر کنید که چطور میتوانیم منطق برنامه را برای رسیدن به این هدف تغییر دهیم.
دیداریسازی نقشی حیاتی در محاسبات علمی و تحلیل دادهها ایفا میکند. این قابلیت به ما این امکان را میدهد تا الگوها، روندها و روابط درون دادهها را مشاهده کنیم که درک آنها تنها از طریق اعداد دشوار است. با نمایش بصری اطلاعات، میتوانیم درک شهودی بیشتری به دست آوریم.
پایتون، علاوه بر محاسبات عددی، در ایجاد نمودارها و دیداریسازیهای جذاب نیز عالی عمل میکند. این بخش قابلیتهای دیداریسازی پایتون را با یک موج سینوسی میرا به طور تعاملی به نمایش میگذارد. در اینجا، نحوهی تولید یک موج سینوسی و کنترل نرخ میرایی آن با استفاده از یک اسلایدر را مشاهده میکنیم.
کد را اجرا کنید و نمودار اولیه را مشاهده نمایید. یک موج سینوسی با میرایی تدریجی خواهید دید. با اسلایدر «ضریب میرایی» کار کنید. مشاهده میکنید که تنظیم میزان اسلایدر به طور مستقیم بر نرخ میرایی موج در نمودار تأثیر میگذارد. ضریب میرایی پایینتر باعث میشود موج سریعتر محو شود، در حالی که مقدار بالاتر منجر به محو شدن آهستهتر میشود.
import numpy as np
import matplotlib.pyplot as plt
import ipywidgets as widgets
from IPython.display import display, clear_output
# Define parameters
x_values = np.linspace(0.0, 25.0, 400)
amplitude = np.sin(x_values)
# Function to update the plot
def update_plot(decay_factor):
y_values = amplitude * (decay_factor ** x_values)
clear_output(wait=True)
fig, ax = plt.subplots(figsize=(5, 4))
ax.plot(x_values, y_values, color='purple', linewidth=2)
ax.set_xlabel("X-axis", fontsize=12)
ax.set_ylabel("Y-axis", fontsize=12)
ax.set_title("Fading Sine Wave", fontsize=14)
ax.grid(True, which='both', linestyle='--', linewidth=0.5)
ax.set_ylim(-1.1, 1.1)
plt.show()
# Create and display the slider widget
decay_slider = widgets.FloatSlider(value=0.85, min=0.8, max=1.0, step=0.01, description='Decay')
widgets.interact(update_plot, decay_factor=decay_slider);
یک موج میرا، تابعی سینوسی است که دامنه آن به مرور زمان کاهش مییابد. این رفتار معمولاً ناشی از مقاومت یا اصطکاک در یک سیستم فیزیکی است. نمایش ریاضی یک موج سینوسی میرا با فرمول زیر به دست میآید:
\[ y(t) = Ae^{-pt}\cos(\omega t + \varphi) \]
در این فرمول، \(A\) نشاندهندهی دامنهی اولیهی موج، \(p\) ضریب میرایی است که نرخ کاهش دامنه را تعیین میکند، \(\omega\) فرکانس زاویهای موج، \(t\) زمان و \(\varphi\) تغییر فاز است که نقطهی شروع موج را مشخص میکند.
برای مطالعه بیشتر به این منبع مراجعه کنید.
این مثال نشان میدهد که چگونه از پایتون میتوان برای دیداریسازیهای تعاملی استفاده کرد که به شما این امکان را میدهند تا مفاهیم را به صورت بصری بررسی و درک کنید. با دستکاری پارامترهایی مانند ضریب میرایی، درک عمیقتری از تأثیر آن بر شکل موج میرا به دست میآورید.
گردش ما در دنیای جادویی برنامهنویسی پایتون، بسیار هیجانانگیز بود. با اصول اولیهای مانند نمایش پیام ("سلام، دنیا!") آشنا شدیم، فال حافظ گرفتیم و حتی یک بازی سرگرمکننده (حدس بزن!) انجام دادیم.
اما قدرت واقعی پایتون در توانایی آن برای انجام کارهای پیچیده مانند تجسم زیبای دادهها نهفته است. این موضوع در بخش موج میرا به نمایش گذاشته شد، در آنجا ما با یک اسلایدر مقادیر متغیری از یک تابع ریاضی را تغییر دادیم و به صورت لحظهای تغییرات را در نمودار آن مشاهده کردیم.
اما این تنها ابتدای ماجراست. قابلیتهای پایتون بسیار گسترده و پیشرفته هستند: از توسعه وب گرفته تا علم دادهها و یادگیری ماشین و حتی فراتر از آن. پایتون با کتابخانههای گسترده و دستورهای ساده، هم برای افرادی که تازه شروع به برنامهنویسی کردهاند و هم برای برنامهنویسان باتجربه، زبان فوقالعادهای است.
با عمیقتر شدن در پایتون، دنیایی وسیع از امکانات را خواهید دید. میتوانید برنامههای کاربردی بسازید، دادههای عظیم را تحلیل و دیداریسازی کنید و مهمتر از همه، از آن لذت ببرید! بنابراین، به کند و کاو، یادگیری و کشف پتانسیلهای پایتون ادامه دهید!
این تجربه یادگیری تعاملی پایتون با استفاده از فناوریهای متنباز زیر امکانپذیر شده است:
دیدگاهها و نظرات شما برای من بسیار ارزشمند است. لطفاً از طریق فرم تماس یا شبکههای اجتماعی که لینکهای آنها ارائه شده با من در ارتباط باشید.
مطالب سرگرمکننده و آموزشی بیشتری را در زمینه برنامهنویسی در وبسایت My Code Universe مشاهده کنید.