آموزش ساخت ماشین حساب با پایتون + کد کامل پروژه

آخرین به‌روزرسانی: ۲۴ دی ۱۴۰۱
زمان مطالعه: ۲۲ دقیقه

در این مقاله به آموزش ساخت ماشین حساب با پایتون (Python) همراه با کدهای مربوط به آن به طور جامع و کاربردی پرداخته شده است. این ماشین حساب امکان انجام چهار عمل اصلی ریاضی، یعنی جمع، تفریق، ضرب و تقسیم را دارد. علاوه بر این، در بخش پایانی این مطلب، با اِعمال تمهیدات مختلف، کدهای این ماشین حساب بهبود داده خواهند شد.

فهرست مطالب این نوشته

پیش از ساخت ماشین حساب با پایتون ، ابتدا لازم است به این سوال پاسخ داده شود که پایتون چیست؟ در ادامه چیستی و علت اهمیت زبان برنامه نویسی پایتون شرح داده شده است.

پایتون چیست؟

پایتون یک زبان برنامه نویسی تفسیری (Interpreted)، شی‌گرا (OOP) و سطح بالا به حساب می‌آید. به دلیل ساختمان داده پیش‌ساخته سطح بالای پایتون و همچنین، نوع‌دهی و پیوند پویا در این زبان، پایتون به عنوان یک زبان کارآمد برای توسعه چابک اپلیکیشن شناخته شده است.

علاوه بر این، زبان برنامه نویسی پایتون به گونه‌ای طراحی شده است که ساده باشد و یادگیری نحو (سینتکس) آن به راحتی انجام شود. زبان پایتون قابلیت پشتیبانی از ما‌ژول‌ها و بسته‌های (Packages) متعددی را دارد. به همین دلیل، با استفاده از آن، دو اصل مهم برنامه نویسی یعنی «پیمانه‌ای (ماژولار) بودن» و «امکان استفاده مجدد از کدها» تقویت می‌شوند.

چرا پروژه ساخت ماشین حساب با پایتون مفید

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

چرا پروژه ساخت ماشین حساب با پایتون مفید است؟

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

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

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

ایجاد ماشین حساب با پایتون

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

آموزش ساخت ماشین حساب با پایتون

در این بخش، آموزش ساخت ماشین حساب با پایتون همراه با کدهای مربوطه به صورت گام به گام و به زبان ساده ارائه شده است. اولین گام ساخت ماشین حساب با پایتون دریافت ورودی از کاربر است که در ادامه به شرح چگونگی انجام آن پرداخته شده است.

مرحله اول : دریافت ورودی از کاربر برای ساخت ماشین حساب با پایتون

ماشین حساب در شرایطی مناسب است که شخص معادله‌هایی را ارائه دهد تا این معادلات توسط کامپیوتر حل شوند. به بیان ساده، زمانی که شخص اعداد را در کامپیوتر وارد می‌کند، برنامه نویسی از آن نقطه آغاز می‌شود. در وهله اول، باید یک فایل پایتون با پسوند py. برای پروژه ساخت ماشین حساب با پایتون ایجاد کرد. می‌توان از هر ویرایشگر کد دلخواهی برای انجام این پروژه استفاده کرد. می‌توان فایل مورد استفاده برای برنامه را به صورت «calculator.py» نام‌گذاری کرد. در این پروه از ویرایشگر متن Nano استفاده شده است. بنابراین، پس از ساخت فایل پروژه، با دستور زیر می‌توان فایل مربوطه را اجرا و کدنویسی را آغاز کرد:

nano calculator.py

در ادامه، به این فایل ساخته شده کدهایی اضافه می‌شود که با اجرای آن‌ها، پروژه ساخت ماشین حساب با پایتون تکمیل خواهد شد. برای این برنامه خاص، دو عدد به عنوان ورودی از کاربر دریافت می‌شوند. بنابراین، لازم است برنامه به گونه‌ای نوشته شود که عددهای مورد نظر کاربر از او دریافت شوند. برای انجام این کار، می‌توان از تابع پیش‌ساخته (Built-in) پایتون، یعنی input()‎ استفاده کرد. با کمک این تابع پایتون، مقدارهای ورودی وارد شده مورد نظر کاربر پذیرفته می‌شوند.

می‌توان از طریق تابع input()‎، یک رشته برای کاربر نمایش داد. پس از آن، ورودی مورد نظر کاربر باید به یک متغیر تخصیص داده شود. نکته حائز اهمیت این است که هنگام درخواست برای ورودی، یک فضای خالی (Space) در پایان رشته اضافه می‌شود. چون با این کار، یک فاصله میان ورودی کاربر و پیام نمایش داده شده (Prompting String) ایجاد خواهد شد و ظاهر برنامه مطلوب‌تر می‌شود. به منظور دریافت دو عدد به عنوان ورودی، لازم است از دستور زیر استفاده شود:

number_1 = input('Enter your first number: ')
number_2 = input('Enter your second number: ')

پس از نوشتن دو خط کد فوق، می‌توان برنامه را اجرا کرد. اما باید توجه داشت که پیش از اجرای برنامه، این ضرورت وجود دارد که فایل برنامه ذخیره شود. در این مطلب از ویرایشگر nano استفاده شده است. می‌توان از ترکیب کلید‌های CTRL و X در صفحه کلید و سپس Y و Enter استفاده کرد. برای اجرای فایل مربوط به پروژه ساخت ماشین حساب با پایتون ، لازم است دستور زیر در محیط ترمینال یا شل سیستم عامل مورد نظر استفاده شود:

python calculator.py

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

Output
Enter your first number: 5
Enter your second number: 7

در صورتی که این برنامه به دفعات مختلف اجرا و اعداد گوناگونی در آن به عنوان ورودی وارد شوند، واضح است که می‌توان هر کلیدی از صفحه کلید را از جمله مجموعه‌ای از کلمه‌ها، نمادها، فضاهای خالی یا حتی کلید Enter را به عنوان ورودی دریافت کرد. این موضوع به این دلیل رخ می‌دهد که تابع ()input داده‌ها را به عنوان رشته دریافت می‌کند. به بیان ساده، این تابع هیچ اطلاعی در مورد این موضوع ندارد که ورودی مورد نظر از نوع عدد است.

لازم است این برنامه به گونه‌ای نوشته شود که تنها داده‌های عددی را از ورودی دریافت کند. این موضوع به دو دلیل اهمیت دارد که در ادامه فهرست شده‌اند:

  • تا برنامه امکان اجرای محاسبات ریاضی را داشته باشد.
  • تا عمل اعتبارسنجی در مورد ورودی کاربر به عنوان یک رشته عددی به درستی انجام شود.

بر اساس نیازمندی‌های پروژه ساخت ماشین حساب با پایتون ، می‌توان رشته دریافتی از تابع ()input را یا با نوع عدد صحیح (Integer) یا نوع ممیز شناور (Float) تبدیل کرد. در این مطلب آموزش ساخت ماشین حساب با پایتون ، نوع رشته به نوع عدد صحیح تبدیل خواهد شد. به منظور تبدیل آن، پیش از تابع input()‎، باید واژه Int به کار برود. برای درک بهتر، به دستور زیر توجه شود:

number_1 = int(input('Enter your first number: '))
number_2 = int(input('Enter your second number: '))

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

Output
Enter your first number: 23
Enter your second number: 674

اما اگر مقادیری غیر از دو عدد صحیح، مثلاً حروف مختلف یا نمادها، به عنوان ورودی دریافت شوند، در خروجی برنامه یک خطا مشابه کد زیر نمایش داده خواهد شد:

Output
Enter your first number: sammy
Traceback (most recent call last):
  File "testing.py", line 1, in <module>
    number_1 = int(input('Enter your first number: '))
ValueError: invalid literal for int() with base 10: 'sammy'

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

مرحله دوم : اضافه کردن عملگرها برای ساخت ماشین حساب با پایتون

در این بخش از بررسی کد منبع پروژه ساخت ماشین حساب با پایتون به نحوه اضافه کردن عملگرهای مربوط به چهار عمل اصلی ریاضیات، یعنی عمل‌های جمع، تفریق، ضرب و تقسیم پرداخته می‌شود. همزمان با نوشتن این برنامه، باید این اطمینان حاصل شود که تمام بخش‌های آن به درستی کار می‌کنند. برای جمع دو عدد با این ماشین حساب، از علامت + استفاده می‌شود. در واقع با قرار دادن دو متغیر مربوط به عددهای ورودی به همراه یک علامت جمع، این عمل ریاضی درون تابع Print امکان‌پذیر خواهد شد. به منظور درک بهتر نحوه جمع کردن دو عدد در این برنامه، به قطعه کد زیر توجه شود:

number_1 = int(input('Enter your first number: '))
number_2 = int(input('Enter your second number: '))

print(number_1 + number_2)

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

Output
Enter your first number: 8
Enter your second number: 3
11

خروجی فوق بیانگر آن است که این بخش از پروژه ساخت ماشین حساب با پایتون به درستی پیاده‌سازی شده است. اکنون، در ادامه باید مواردی به برنامه اضافه شوند که با کمک آن‌ها، کاربر در طول زمان اجرا از نحوه کارکرد برنامه آگاهی داشته باشد. برای انجام این کار، می‌توان از فرمت کننده‌های رشته (String Formatters) استفاده کرد. همان‌طور که از نام آن مشخص است، با استفاده از فرمتگرهای رشته، امکان قالب‌بندی متن و ارائه بازخورد مناسب فراهم می‌شود. در صورتی که لازم باشد، کاربر اطلاعات خاصی را پیرامون دو عدد ورودی و عملگر مربوطه دریافت کند، قطعه کد زیر به کار می‌رود:

number_1 = int(input('Enter your first number: '))
number_2 = int(input('Enter your second number: '))

print('{} + {} = '.format(number_1, number_2))
print(number_1 + number_2)

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

Output
Enter your first number: 90
Enter your second number: 717
90 + 717 = 
807

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

number_1 = int(input('Enter your first number: '))
number_2 = int(input('Enter your second number: '))

# Addition
print('{} + {} = '.format(number_1, number_2))
print(number_1 + number_2)

# Subtraction
print('{} - {} = '.format(number_1, number_2))
print(number_1 - number_2)

# Multiplication
print('{} * {} = '.format(number_1, number_2))
print(number_1 * number_2)

# Division
print('{} / {} = '.format(number_1, number_2))
print(number_1 / number_2)

با نوشتن قطعه کد فوق، باقی اعمال اصلی ریاضی یعنی تفریق، ضرب و تقسیم هم به برنامه اضافه شدند. حال در صورت اجرای مجدد، برنامه تمام عملگرهای فوق را با هم اجرا خواهد کرد. اما اگر نیاز باشد برنامه به اجرای تنها یک عمل واحد در هر لحظه محدود شود، این عمل با عبارت‌های شرطی (Conditional Statements) امکان‌پذیر خواهد بود. بنابراین، در گام بعدی آموزش ساخت ماشین حساب با پایتون به شرح چگونگی اضافه کردن عملگرهای شرطی در این پروژه پرداخته شده است. پیش از آن، مجموعه دوره‌های آموزش پایتون فرادرس برای آشنایی علاقه‌مندان به این مجموعه معرفی شده است.

معرفی فیلم های آموزش زبان برنامه نویسی پایتون فرادرس

Python-Landing

برنامه نویسی با زبان پایتون یک مهارت کلیدی و مهم در جهت رشد افراد در زمینه شغلی خود محسوب می‌شود. در این بخش پروژه ساخت ماشین حساب ، مجموعه دوره‌های آموزشی پایتون برای علاقه‌مندان معرفی شده‌اند. بسیاری از دوره‌های آموزشی این مجموعه برای افرادی مناسب هستند که قصد شروع یا ارتقاء مهارت برنامه نویسی خود را با زبان پایتون دارند. در مجموعه دوره‌های آموزش پایتون، بیش از ۲۰۰ ساعت فیلم آموزشی ارائه و بیشتر از ۳۵ دوره آموزشی مختلف در این مجموعه گنجانده شده است. این مجموعه فرادرس، فیلم‌های آموزش پایتون از سطح مقدماتی تا پیشرفته به همراه آموزش‌های پروژه محور و همچنین دوره‌های آموزشی برای کتابخانه‌ها و فریم‌ورک‌های مختلف پایتون را پوشش می‌دهد. در ادامه برخی از دوره‌های کاربردی و جامع این مجموعه معرفی شده‌اند:

  • آموزش کار با کتابخانه‌های NumPy و Matplotlib در پایتون (زمان: ۴ ساعت و ۴۶ دقیقه، مدرس میترا تجربه کار): در این دوره آموزشی چگونگی کار با Numpy و Matplotlib در پایتون آموزش داده می‌شود. این دوره آموزشی مناسب افرادی است که می‌خواهند علاوه بر یادگیری عملی زبان برنامه نویسی پایتون، نحوه کار با کتابخانه‌های مهم آن یعنی Numpy و Matplotlib را نیز به صورت جامع و در عین حال به زبان ساده فرا بگیرند. برای مشاهده فیلم آموزش کار با کتابخانه‌های NumPy و Matplotlib در پایتون + کلیک کنید.
  • آموزش برنامه نویسی پایتون (Python) – مقدماتی (زمان: ۱۹ ساعت و ۵۳ دقیقه، مدرس: پژمان اقبالی شمس آبادی): در این دوره آموزشی، زبان برنامه‌نویسی پایتون در سطح مقدماتی و اصول آن از پایه شرح داده شده است. برای مشاهده فیلم آموزش برنامه‌نویسی پایتون (Python) – مقدماتی + کلیک کنید.
  • آموزش برنامه نویسی پایتون – تکمیلی – بخش اول (زمان: ۱۳ ساعت و ۹ دقیقه، مدرس: پژمان اقبالی شمس آبادی): در این دوره آموزشی، زبان برنامه‌نویسی پایتون به صورت تکمیلی آموزش داده شده است و نسبت به دوره مقدماتی موضوعات دیگری را نیز در برمی‌گیرد. برای مشاهده دوره آموزش برنامه نویسی پایتون – تکمیلی – بخش اول + کلیک کنید.
  • آموزش زبان برنامه نویسی پایتون (Python) همراه با مثال های عملی (زمان: ۱۳ ساعت و ۲۰ دقیقه، مدرس: فرشید شیرافکن):  این دوره آموزشی مناسب افرادی است که هیچ پیش‌زمینه‌ای در مورد زبان برنامه‌نویسی پایتون ندارند. مفاهیم این دوره با تشریح کامل اصول نظری و پیاده‌سازی مثال‌ها به شکل عملی آموزش داده شده است. برای مشاهده آموزش زبان برنامه نویسی پایتون (Python) همراه با مثال‌های عملی + کلیک کنید.
  • آموزش جنگو (Django) - فریمورک تحت وب با پایتون (Python (زمان: ۸ ساعت و ۱۵ دقیقه ، مدرس: پدرام شاه صفی): این دوره آموزشی برای علاقه‌مندان و فعالان حوزه توسعه و طراحی وب مناسب است. برای مشاهده فیلم آموزش جنگو (Django) - فریمورک تحت وب با پایتون (Python) + کلیک کنید.

حال در ادامه این مقاله به شرح سایر گام‌های پروژه ساخت ماشین حساب با پایتون پرداخته شده است.

مرحله سوم : اضافه کردن عبارت‌‌های شرطی برای ساخت ماشین حساب با پایتون

هدف از نوشتن قطعه کد ماشین حساب با پایتون این است که کاربر با استفاده از آن امکان انتخاب عملگرهای مختلف را داشته باشد. برای رسیدن به این هدف، باید اطلاعاتی به بخش ابتدایی این برنامه اضافه شود تا بدین طریق، کاربر بتواند عملگر مورد نظر خود را برای محاسبه انتخاب کند. برای نوشتن یک رشته در خطوط مختلف، می‌توان از سه نقل قول (Triple Quotes) استفاده کرد:

'''
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
'''

این برنامه از هر یک از نمادهای چهار عمل اصلی ریاضی استفاده می‌کند تا با کمک آن‌ها کاربر یکی از این عملگرها را انتخاب کند. بنابراین، در صورتی که کاربر بخواهد عمل تقسیم اجرا شود، باید نماد «/» را تایپ کند. البته باید توجه کرد که می‌توان برای این اعمال ریاضی، هر نمادی را به دلخواه خود انتخاب کرد. به عنوان مثال، امکان استفاده از عدد ۱ برای جمع یا حتی حرف b برای تفریق وجود دارد. با توجه به اینکه ورودی‌های این برنامه از کاربران دریافت می‌شوند، بنابراین تابع input()‎ به کار می‌رود. حال باید رشته فوق درون یک تابع Input()‎ قرار داده شود و مقدار آن ورودی به یک متغیر اختصاص یابد. در این پروژه ساخت ماشین حساب با پایتون ، این متغیر با نام Operation ایجاد می‌شود.

operation = input('''
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
''')

number_1 = int(input('Enter your first number: '))
number_2 = int(input('Enter your second number: '))

print('{} + {} = '.format(number_1, number_2))
print(number_1 + number_2)

print('{} - {} = '.format(number_1, number_2))
print(number_1 - number_2)

print('{} * {} = '.format(number_1, number_2))
print(number_1 * number_2)

print('{} / {} = '.format(number_1, number_2))
print(number_1 / number_2)

اکنون در صورت اجرای برنامه و وارد کردن هر ورودی خاصی، هیچ اتفاقی در برنامه رخ نمی‌دهد. برای حل این مشکل، لازم است عبارت‌های شرطی در برنامه وجود داشته باشند. با توجه به ساختار کلی مورد استفاده در این برنامه، عبارت شرطی If در بخش مربوط به عمل جمع قرار می‌گیرد و برای باقی اعمال ریاضی، سه عبارت elseif یا elif به کار می‌روند. در صورتی که کاربر یک نماد به عنوان ورودی به برنامه وارد نکند، باید خطایی در خروجی برنامه نمایش داده شود. بنابراین، در بخش پایانی دستور if، یک عبارت else قرار داده می‌شود تا با کمک آن پیام در خروجی برای کاربر نمایش داده شود. کدهای مربوطه در ادامه آمده است:

operation = input('''
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
''')

number_1 = int(input('Enter your first number: '))
number_2 = int(input('Enter your second number: '))

if operation == '+':
    print('{} + {} = '.format(number_1, number_2))
    print(number_1 + number_2)

elif operation == '-':
    print('{} - {} = '.format(number_1, number_2))
    print(number_1 - number_2)

elif operation == '*':
    print('{} * {} = '.format(number_1, number_2))
    print(number_1 * number_2)

elif operation == '/':
    print('{} / {} = '.format(number_1, number_2))
    print(number_1 / number_2)

else:
    print('You have not typed a valid operator, please run the program again.')

به منظور مرور کردن نحوه کارکرد پروژه ساخت ماشین حساب با پایتوندر این مقاله، مجدداً به نکات کلیدی آن پرداخته می‌شود. در ابتدای این برنامه، از کاربرد درخواست وارد کردن یک نماد نمایش داده می‌شود. مثلاً، هنگام اجرای برنامه، کاربر نماد «*» را برای انتخاب عمل ضرب وارد می‌کند. پس از آن، لازم است دو عدد، مثلاً ۵۸ و ۴۰، به عنوان ورودی از سمت کاربر به برنامه داده شوند. در این مرحله، عبارت و جواب آن، در خروجی برنامه نمایش داده شده است:

Output
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
* 
Please enter the first number: 58
Please enter the second number: 40
58 * 40 = 
2320

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

مرحله چهارم : تعریف توابع

برای اینکه امکان اجرای برنامه به دفعات توسط کاربر وجود داشته باشد، باید چند تابع در برنامه تعریف شوند. در وهله اول، لازم است کدهای فعلی را در یک بلوک تابع قرار داد و نام این تابع را calculator()‎ انتخاب کرد. برای اینکه از اجرای برنامه اطمینان حاصل شود، فراخوانی تابع در بخش پایانی فایل نیز ضروری است:

# Define our function
def calculate():
    operation = input('''
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
''')

    number_1 = int(input('Please enter the first number: '))
    number_2 = int(input('Please enter the second number: '))

    if operation == '+':
        print('{} + {} = '.format(number_1, number_2))
        print(number_1 + number_2)

    elif operation == '-':
        print('{} - {} = '.format(number_1, number_2))
        print(number_1 - number_2)

    elif operation == '*':
        print('{} * {} = '.format(number_1, number_2))
        print(number_1 * number_2)

    elif operation == '/':
        print('{} / {} = '.format(number_1, number_2))
        print(number_1 / number_2)

    else:
        print('You have not typed a valid operator, please run the program again.')

# Call calculate() outside of the function
calculate()

اکنون باید تابع دوم ساخته شود. درون این تابع عبارت‌های شرطی مختلفی قرار داده خواهند شد. این بلوک کد برای کاربر امکان درخواست جهت محاسبه مجدد با کمک ماشین حساب را فراهم می‌کند. اکنون باید یک تابع با نام again()‎ تعریف و پس از def calculate()‎ قرار داده شود. بلوک کد به صورت زیر است:

...
# Define again() function to ask user if they want to use the calculator again
def again():

    # Take input from user
    calc_again = input('''
Do you want to calculate again?
Please type Y for YES or N for NO.
''')

    # If user types Y, run the calculate() function
    if calc_again == 'Y':
        calculate()

    # If user types N, say good-bye to the user and end the program
    elif calc_again == 'N':
        print('See you later.')

    # If user types another key, run the function again
    else:
        again()

# Call calculate() outside of the function
calculate()

با وجود اینکه با استفاده از عبارت else، کد فوق تا حدی دارای قابلیت مدیریت خطا است، اما همچنان می‌توان حروف کوچک انگلیسی y و n را نیز به Y و N اضافه کرد. برای انجام این عمل، می‌توان از یک تابع رشته‌ای به نام str.upper()‎ استفاده کرد:

...
def again():
    calc_again = input('''
Do you want to calculate again?
Please type Y for YES or N for NO.
''')

    # Accept 'y' or 'Y' by adding str.upper()
    if calc_again.upper() == 'Y':
        calculate()

    # Accept 'n' or 'N' by adding str.upper()
    elif calc_again.upper() == 'N':
        print('See you later.')

    else:
        again()
...

در این مرحله، باید تابع a‌gain()‎ در پایان تابع function()‎ اضافه شود تا بدین طریق، از کاربر سوال شود که آیا می‌خواهد ادامه دهد یا خیر:

def calculate():
    operation = input('''
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
''')

    number_1 = int(input('Please enter the first number: '))
    number_2 = int(input('Please enter the second number: '))

    if operation == '+':
        print('{} + {} = '.format(number_1, number_2))
        print(number_1 + number_2)

    elif operation == '-':
        print('{} - {} = '.format(number_1, number_2))
        print(number_1 - number_2)

    elif operation == '*':
        print('{} * {} = '.format(number_1, number_2))
        print(number_1 * number_2)

    elif operation == '/':
        print('{} / {} = '.format(number_1, number_2))
        print(number_1 / number_2)

    else:
        print('You have not typed a valid operator, please run the program again.')

    # Add again() function to calculate() function
    again()

def again():
    calc_again = input('''
Do you want to calculate again?
Please type Y for YES or N for NO.
''')

    if calc_again.upper() == 'Y':
        calculate()
    elif calc_again.upper() == 'N':
        print('See you later.')
    else:
        again()

calculate()

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

مرحله پنجم : بهبود دادن کدهای پروژه ساخت ماشین حساب با پایتون

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

def welcome():
    print('''
Welcome to Calculator
''')
...
# Don’t forget to call the function
welcome()
calculate(

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

همچنین، در شرایطی که کاربر عملگر تقسیم را برای استفاده انتخاب و مقدار صفر را به عنوان عدد ورودی دوم در برنامه وارد کند، یک خطای تقسیم بر صفر از سوی برنامه دریافت خواهد کرد. برای حل این موارد، می‌توان از عبارت «Try ... Except» استفاده کرد. این پروژه محدود به چهار عمل اصلی ریاضی است، اما امکان اضافه کردن عملگرهای اضافه بدین طریق به وجود می‌آید:

...
    operation = input('''
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
** for power
% for modulo
''')
...
# Don’t forget to add more conditional statements to solve for power and modulo

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

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

سایر پروژه‌های کاربردی برای یادگیری برنامه نویسی پایتون

در این بخش به ۸ مورد از کاربردی‌ترین پروژه‌هایی پرداخته شده است که با کمک آن‌ها، حتی افراد تازه‌کار در برنامه نویسی نیز امکان یادگیری مفاهیم پایتون و کدنویسی با آن را خواهند داشت.

  • ساخت دستیار مجازی: در این پروژه، با استفاده از زبان برنامه نویسی پایتون یک دستیار مجازی (Virtual Assistant) ساخته می‌شود. دستیار مجازی یک اپلیکیشن جالب است که قابلیت درک درخواست‌های صوتی و تکمیل آن وظایف را دارد. به عنوان مثال، دستیار گوگل و الکسا (Alexa) آمازون هر دو دستیار مجازی به حساب می‌آیند. در صورت نیاز به راهنمایی، می‌توان از دوره‌های سایت Udemy استفاده کرد.
  • ساخت اسکنر شناسایی: با ساخت چنین پروژه‌ای، می‌توان هر سایتی که در فضای اینترنت قرار دارد را اسکن کرد و نتایج مربوط به آن را در یک فایل دریافت کرد. مشابه ساخت دستیار مجازی، برای ساخت این پروژه نیز، آموزش‌های مرتبط در سایت Udemy قرار دارند.
  • ساخت یک نسخه شبیه‌سازی شده بازی سنگ کاغذ قیچی: یکی از راه‌های مناسب و جذاب برای یادگیری نحوه برنامه نویسی با زبان‌های مختلف از جمله پایتون، ساخت بازی است. با استفاده از این روش، حتی اگر فردی برنامه نویس مبتدی و تازه‌کار باشد، همچنان ساخت بازی می‌تواند روش مناسبی برای افزایش مهارت برنامه نویسی پایتون به حساب آید.
  • ساخت یک سرویس کوتاه کننده URL: در صورت علاقه به برنامه نویسی وب (Web Development)، ساخت وب سایت‌ها و وب اپلیکیشن‌ها با پایتون انتخاب مطلوبی است. علاوه بر این، زبان برنامه نویسی پایتون دارای چندین فریم ورک فوق‌العاده از جمله فلسک (Flask) و جنگو (Django) است که برای برنامه نویسی وب بسیار کارآمد هستند.
  • ساخت اپلیکیشن سبد اوراق بهادار و سهام برای ارز دیجیتال: می‌توان با ساخت چنین اپلیکیشنی، به راحتی تمام دارایی‌های ارز دیجیتال خود را بررسی و پیگیری کرد. در واقع، با ساخت این پروژه، علاوه بر دیدن ارزش تجمعی دارایی‌های دیجیتال، می‌توان در مورد هر یک از آن‌ها اطلاعات تکمیلی بیش‌تری را نیز مشاهده کرد. در این سیستم، مقادیر مثبت و منفی به ترتیب به رنگ‌های سبز و قرمز نمایش داده می‌شوند.
  • اپلیکیشن هشداردهنده هزینه (به صورت بلادرنگ): در این پروژه، یک اپلیکیشن هشداردهنده بلادرنگ برای هزینه‌ها ساخته می‌شود. در صورتی که ارزهای دیجیتال به یک هزینه معین برسد، یک پیام مطابق آن برای شخص نمایش داده می‌شود تا او از این موضوع آگاه شود. این برنامه می‌تواند در پس‌زمینه به اجرای خود ادامه دهد. مثلاً با کمک این اپلیکیشن، پیامی همچون «بیت کوین به ۱۲۰۰۰ هزار دلار رسید»، دریافت می‌شود.
  • اپلیکیشن امتیازدهی به بهترین ارزهای دیجیتال: در این پروژه ساده، لازم است یک اپلیکیشن برای امتیازدهی به ارزهای دیجیتال مختلف، از جمله بیت کوین، اتریوم (Etherium)، لایت کوین (Litecoin)، لیبرا (LIbra) و سایر موارد ساخته شود. این امر بر اساس امتیازها، درصد تغییرات روزانه یا حجم روزانه آن‌ها مرتب‌سازی می‌شود. مقادیر مثبت و منفی به ترتیب با رنگ‌های سبز و قرمز پوشش داده می‌شوند.
  • پیش‌بینی مقادیر آینده ارزهای دیجیتال: این مورد نیز مشابه موارد قبلی یک پروژه مناسب برای افراد تازه‌کار در برنامه نویسی است. با ساخت این پروژه، امکان پیش‌بینی قیمت‌های ارزهای دیجیتال فراهم می‌شود.
  • پروژه ماشین حساب با پایتون: همان‌طور که در قسمت‌های قبلی به آن اشاره شد، این پروژه یک انتخاب مطلوب برای فراگیری مفاهیم برنامه نویسی با پایتون است. در آموزش ساخت ماشین حساب با پایتون ، نحوه برنامه نویسی برای اعمال اصلی ریاضی یعنی جمع، تفریق، ضرب و تقسیم فرا گرفته خواهد شد.

پیش نیازهای ساخت ماشین حساب با پایتون

برای ساخت ماشین حساب با پایتون ، پیش‌نیازهایی لازم هستند که در این بخش از مطلب به آن‌ها اشاره خواهد شد. پیش از شروع پروژه ساخت ماشین حساب با پایتون ، باید پایتون ۳ روی کامپیوتر مورد استفاده نصب شده باشد. همچنین لازم است آشنایی مقدماتی با زبان برنامه نویسی پایتون وجود داشته باشد.

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

بخش پایانی این مقاله به معرفی دوره‌های آموزش پایتون فرادرس اختصاص داده شده است.

فیلم های آموزش پایتون فرادرس

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

فیلم آموزش برنامه نویسی پایتون (Python) – مقدماتی

آموزش برنامه نویسی پایتون (Python) - مقدماتی

این دوره آموزشی در سطح مقدماتی است و در آن مفاهیم ابتدایی برنامه نویسی با پایتون بررسی می‌شوند. از این رو، دوره ذکر شده برای افرادی مطلوب است که می‌خواهند زبان برنامه نویسی پایتون را از ابتدا و به صورت جامع فرا بگیرند. طول مدت این دوره تقریباً نزدیک به ۲۰ ساعت و مدرس آن مهندس پژمان اقبالی شمس آبادی است. در این دوره آموزشی فرادرس به مفاهیم مقدماتی زبان برنامه نویسی پایتون با زبان ساده و در عین حال به صورت کاربردی پرداخته و کلیه مباحث پایه پیرامون پایتون ارائه شده است.

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

فیلم آموزش زبان برنامه نویسی پایتون (Python) همراه با مثال های عملی

فیلم آموزش زبان برنامه نویسی پایتون (Python) همراه با مثال های عملی

پس از دوره آموزش مقدماتی، می‌توان با استفاده از دوره پایتون با مثال‌های عملی یادگیری مفاهیم این زبان برنامه نویسی را تکمیل کرد. طول مدت این دوره آموزشی بیش از ۱۳ ساعت و مدرس آن دکتر فرشید شیرافکن است. امکان استفاده از این دوره آموزشی بدون هیچ پیش‌نیاز قبلی دیگری وجود دارد. در این دوره آموزش پایتون، پس از آموزش مباحث به صورت نظری، مثال‌های عملی مختلفی مورد بحث قرار می‌گیرند. به واسطه استفاده از مثال‌های عملی، درک بیش‌تر و یادگیری کاربردی پایتون حاصل خواهد شد.

مباحثی همچون انواع داده‌ها در پایتون، نحوه نام‌گذاری صحیح متغیرها، عملگرها در پایتون، دستورات شرطی، حلقه‌ها، رشته‌، لیست، تاپل (Tuple)، دیکشنری، توابع، فایل‌ها، عبارت‌های منظم، الگوریتم‌های مرتب‌سازی و بسیاری دیگر از مباحث مهم و اساسی دیگر در این دوره آموزشی پایتون بررسی می‌شوند.

  • برای مشاهده فیلم آموزش زبان برنامه نویسی پایتون (Python) همراه با مثال های عملی + اینجا کلیک کنید.

فیلم آموزش برنامه نویسی پایتون - تکمیلی

فیلم آموزش برنامه نویسی پایتون – تکمیلی

دوره آموزش برنامه نویسی پایتون - تکمیلی فرادرس به عنوان یک آموزش تکمیلی برای یادگیری هر چه بیش‌تر این زبان برنامه نویسی ارائه شده است. در این دوره مکمل، مباحث پیشرفته پایتون، با هدف آشنایی بیش‌تر مخاطبین با ساختارهای داده (Data Structures)، الگوریتم‌ها، رشته و متن در پایتون مورد بررسی قرار گرفته‌اند. این دوره برای افرادی مناسب است که مفاهیم پایه و کلیدی برنامه نویسی پایتون در سطح مقدماتی را به طور جامع و همراه با جزییات فرا گرفته‌اند.

طول مدت این دوره آموزشی فرادرس، تقریباً ۱۳ ساعت و مدرس آن مهندس پژمان اقبالی شمس آبادی است. این دوره ۱۵ سرفصل مجزا را دارا است که ۹ درس ابتدایی آن به مباحث ساختارهای داده و الگوریتم‌ها و سایر دروس آن نیز به شرح مفاهیم مربوط به رشته و متن در پایتون اختصاص دارند.

فیلم آموزش جنگو (Django)

معرفی فیلم آموزش جنگو فرادرس | مطلب ساخت ماشین حساب با پایتون

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

به منظور درک و یادگیری اصولی‌تر مفاهیم پایه، علاوه بر شرح مباحث تئوری، آموزش‌های عملی و پروژه‌های نمونه نیز پیاده‌سازی شده‌اند. از جمله سرفصل‌ها و عناوین دوره آموزش جنگو می‌توان به نصب و آماده‌سازی جنگو، پایگاه داده و مدل‌ها، URL‌ها، صفحه ادمین، قالب‌ها و سایر مباحث پراهمیت و کاربردی در جنگو اشاره کرد.

  • برای مشاهده فیلم آموزش آموزش جنگو (Django) - فریمورک تحت وب با پایتون (Python) + اینجا کلیک کنید.

فیلم آموزش پروژه محور Python (پایتون) - ساخت نرم افزار برای Windows و Linux

معرفی فیلم آموزش پروژه محور Python (پایتون) – ساخت نرم افزار برای Windows و Linux

یکی از روش‌های مطلوب برای فراگیری کاربردی برنامه نویسی با پایتون، بهره‌وری از آموزش‌های پروژه محور است. در بخش‌های ابتدایی دوره آموزش پروژه محور پایتون فرادرس، ابزار توسعه پای‌ کیوت (PyQt) معرفی می‌شود و در ادامه آن، مخاطبین با نحوه ایجاد نرم‌افزار برای ویندوز و لینوکس آشنا خواهند شد. طول مدت این دوره آموزشی فرادرس، ۹ ساعت و ۳۴ دقیقه، شامل پنج فصل و مدرس آن مهندس محمد حسینی است.

در این دوره آموزشی سرفصل‌هایی مانند ساختار اصلی برنامه نویسی گرافیکی با ابزار PyQt، ابزار PyQt-Designer، برنامه نویسی ویجت‌های گوناگون نرم افزار و استفاده از برنامه نویسی ماژولار و بسیاری از موارد دیگر مورد بررسی قرار می‌گیرند. این دوره آموزشی مناسب افرادی است که می‌خواهند زبان برنامه نویسی پایتون و نحوه ساخت نرم‌افزار را با کمک رویکردهای پروژه محور فرا بگیرند.

  • برای مشاهده فیلم آموزش پروژه محور Python (پایتون) - ساخت نرم افزار برای Windows و Linux + اینجا کلیک کنید.

فیلم آموزش برنامه نویسی شی گرا در Python (پایتون)

معرفی فیلم آموزش برنامه نویسی شی گرا در Python (پایتون)

با توجه به اهمیت شی‌گرایی (OOP) به عنوان یکی از کلیدی‌ترین مفاهیم حوزه برنامه نویسی، یادگیری مباحث مربوط به شی‌گرایی بسیار مهم به حساب می‌آید. جهت یادگیری مبحث‌های شی‌گرایی در پایتون، دوره آموزش برنامه نویسی شی‌گرا مجموعه فرادرس انتخاب مناسبی برای علاقه‌مندان و دانشجویان است. این دوره توسط دکتر فرشید شیرافکن تدریس و دارای مدت زمان هفت ساعت و ۲۹ دقیقه است.

مخاطبین در این دوره آموزشی فرادرس با مفاهیم و موضوعات مهم شی‌گرایی در پایتون، از جمله کلاس، ارث‌بری، چندریختی (Polymorphism)، سربارگذاری و سایر موارد مهم آشنا خواهند شد. این دوره مناسب افرادی است که قصد دارند مفاهیم OOP در زبان برنامه نویسی پایتون را به طور اصولی و کارآمد فرا بگیرند.

جمع‌بندی

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

بر اساس رای ۲۵ نفر
آیا این مطلب برای شما مفید بود؟
شما قبلا رای داده‌اید!
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
Digital Ocean Medium
۷ thoughts on “آموزش ساخت ماشین حساب با پایتون + کد کامل پروژه

سلام ممنون بسیار مفید بود فقط اگه ممکنه فایل آماده و ریسورسش رو برای دانلود بزارید

درود بر شما ببخشید میشه یک رابط گرافیکی برای این برنامه طراحی کرد

سلام چطوری میتونم یک پروژه مانند cymath بسازم بااستفاده از پایتون

با سلام و احترام؛

صمیمانه از همراهی شما با مجله فرادرس و ارائه بازخورد سپاس‌گزاریم.

برای شروع می‌توانید مقاله زیر را مطالعه کنید:

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

  • آموزش جنگو – فریمورک تحت وب Django با پایتون Python
  • آموزش جنگو – افزودن قابلیت های Real-time با Django
  • آموزش فریم ورک جنگو در پایتون – ساخت Web APIs با Django Rest
  • برای شما آرزوی سلامتی و موفقیت داریم.

    کدی دارید که با پرانتز هم کار بکنه ؟
    برای مثال 3*(4+2) رو بگیره و ۱۸ چاپ کنه

    عالی بود. من چون مقدماتی هستم و کلی سایت گشتم. شما رو پیدا کردم که عالی هستید.

    ممنون از مطالب مفید و با ارزش شما در مباحث آموزشی
    خیلی از سایت ها کدها کپی و در برخی از مواقع اجرا نمی شود
    بازهم تشکر از شما که مطالب مفیدی در سایت برای ما دانشجویان گذاشته اید

    نظر شما چیست؟

    نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *