در این مقاله از مجله تم آف به آموزش ساخت ماشین حساب با پایتون (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
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) امکانپذیر خواهد بود. بنابراین، در گام بعدی آموزش ساخت ماشین حساب با پایتون به شرح چگونگی اضافه کردن عملگرهای شرطی در این پروژه پرداخته شده است. پیش از آن، مجموعه دورههای آموزش پایتون تم آف برای آشنایی علاقهمندان به این مجموعه معرفی شده است.
معرفی فیلم های آموزش زبان برنامه نویسی پایتون تم آف
برنامه نویسی با زبان پایتون یک مهارت کلیدی و مهم در جهت رشد افراد در زمینه شغلی خود محسوب میشود. در این بخش پروژه ساخت ماشین حساب ، مجموعه دورههای آموزشی پایتون برای علاقهمندان معرفی شدهاند. بسیاری از دورههای آموزشی این مجموعه برای افرادی مناسب هستند که قصد شروع یا ارتقاء مهارت برنامه نویسی خود را با زبان پایتون دارند. در مجموعه دورههای آموزش پایتون، بیش از ۲۰۰ ساعت فیلم آموزشی ارائه و بیشتر از ۳۵ دوره آموزشی مختلف در این مجموعه گنجانده شده است. این مجموعه تم آف، فیلمهای آموزش پایتون از سطح مقدماتی تا پیشرفته به همراه آموزشهای پروژه محور و همچنین دورههای آموزشی برای کتابخانهها و فریمورکهای مختلف پایتون را پوشش میدهد. در ادامه برخی از دورههای کاربردی و جامع این مجموعه معرفی شدهاند:
- آموزش کار با کتابخانههای 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()
...
در این مرحله، باید تابع again() در پایان تابع 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) — مجموعه مقالات جامع وبلاگ تم آف
- بهترین IDE برای پایتون — معرفی و مقایسه محیط های توسعه پایتون
- آموزش پایتون برای کودکان — راهنمای جامع
جمعبندی
در این مطلب از مجله تم آف با استفاده از برنامه پایتون کدی را برای ساخت ماشین حساب نوشتیم. با توجه به اهمیت برنامه نویسی هم در بازار کار کنونی و هم در پیادهسازی فناوریهای مختلف، یادگیری و ارتقای مهارت برنامه نویسی به ویژه با زبان پایتون به عنوان یک ضرورت در جهت موفقیت شغلی و آکادمیک محسوب میشود. ساخت ماشین حساب با پایتون ، یکی از پروژههای کاربردی و منحصر به فردی است که برای درک هر چه بیشتر مفاهیم این زبان برنامه نویسی به کار میرود. به همین دلیل، در این مقاله کدهای ساخت ماشین حساب با پایتون به همراه توضیحات تکمیلی ارائه شدند. افراد علاقهمند به برنامه نویسی، به ویژه افراد تازهکار و مبتدی در این حوزه، میتوانند با استفاده از چنین پروژههایی مفاهیم پایه برنامه نویسی در پایتون را به طور کاربردی و همراه با جزییات فرا بگیرند و از آن به عنوان یک نقطه شروع برای افزایش مهارتهای خود استفاده کنند.