آموزش نوشتن ماشین حساب با پایتون
نویسنده : علی بجنوردی | زمان انتشار : 23 بهمن 1400 ساعت 12:02
جهت انجام پروژه های دانشجویی و یا تمرینهای برنامه نویسی رشته کامپیوتر میتوانید به آی دی تلگرام زیر پیام دهید
@AlirezaSepand
با یکی دیگر از مجموعه مقالات چگونه با پایتون برنامه بنویسیم، با شما برنامه ماشین حساب ساده در پایتون، را خواهیم نوشت. زبان برنامه نویسی پایتون، ابزاری عالی برای کار با اعداد و محاسبات ریاضی است که از آن میتوان در نوشتن برنامههای کاربردی مفید استفاده کرد.
میتوان از روشهای مختلفی برای نوشتن یک برنامه ماشین حساب ساده در پایتون استفاده کرد که ما یکی از آن راهها را انتخاب کردهایم. کدی که خواهیم نوشت، جای زیادی برای بهبود و ایجاد یک ماشین حساب پیشرفتهتر دارد.
اگر از علاقمندان برنامه نویسی پایتون هستید، در ادامه با ما همراه باشید.
برنامه ماشین حساب ساده در پایتون
در این قسمت قصد داریم نحوهی کدنویسی برنامه ماشین حساب ساده در پایتون را برای شما توضیح دهیم. برای نوشتن یک ماشین حساب ساده، به الگوریتم خاصی نیاز نداریم، با کمی حوصله و خلاقیت قادر خواهیم بود، برنامهی موردنظر خود را کدنویسی کنیم.
بیایید از سادهترین شکل ممکن برای نوشتن این ماشین حساب خط فرمان شروع کنیم و مرحله به مرحله به امکانات آن اضافه کنیم.
مرحلهی اول برنامه ماشین حساب ساده در پایتون: دریافت ورودی کاربر
ابتدا با استفاده از دستور input() و نوشتن پیغامی مناسب برای کاربر، دو عدد صحیح مدنظر او را دریافت میکنیم. به این صورت:
number_1 = int(input("Enter your the first number: ")) number_2 = int(input("Enter your the second number: "))
خروجی:
Enter your the first number: 54
Enter your the second number: 23
اگر با دستور input() و تبدیل آن به عدد صحیح آشنایی ندارید، میتوانید مقاله ورودی و خروجی در پایتون را مطالعه کنید.
مرحلهی دوم برنامه ماشین حساب ساده در پایتون: اضافه کردن عملگر
پس از آنکه دو عدد صحیح از کاربر گرفتیم، برای محاسبه و عملیات ریاضی باید مشخص کنیم کاربر میخواهد چه عملیاتی روی اعداد انجام دهد. به همین جهت بار دیگر با دستور input() عملگر مورد نظر را دریافت میکنیم. برای آنکه هر کس ورودی متفاوتی وارد نکند با نوشتن راهنما، یک استاندارد برای ورود عملگر تعیین میکنیم. به این صورت:
operation = input(''' Please type in the math operation you would like to complete: + for addition - for subtraction * for multiplication / for division ''')
در اینجا ما از نمادهای ریاضی برای تعیین عملگر کاربر، استفاده کردهایم، اما میتوانیم از اعداد یا حروف انگلیسی نیز برای این کار استفاده کنیم. به عنوان مثال 1 for addition یا b for subtraction.
در ضمن ما، در مثال بالا برای نوشته شدن هر رشته در خط جدید، از سه کوتیشن (‘’’) استفاده کردیم. برای این کار راههای دیگری نیز وجود دارد از جمله میتوان هر خط رشته را در یک پرینت جداگانه نوشت، یا کاراکتر (\) را در انتهای هر خط اضافه کرد.
خروجی:
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
*
مرحلهی سوم برنامه ماشین حساب ساده در پایتون: اضافه کردن عبارات شرطی
اکنون که اعداد و عملگر مورد نظر کاربر را گرفتیم، باید با توجه به عملگر ورودی و با استفاده از if و elif و else عملیات ریاضی خواسته شده کاربر را روی اعداد انجام دهیم. به این صورت:
number_1 = int(input("Enter your the first number: ")) number_2 = int(input("Enter your the second number: ")) operation = input(''' Please type in the math operation you would like to complete: + for addition - for subtraction * for multiplication / for division ''') if operation == '+': output_number = number_1 + number_2 print( "{} + {} = {}" .format(number_1, number_2, output_number)) elif operation == '-': output_number = number_1 - number_2 print( "{} - {} = {}" .format(number_1, number_2, output_number)) elif operation == '*': output_number = number_1 * number_2 print( "{} * {} = {}" .format(number_1, number_2, output_number)) elif operation == '/': output_number = number_1 / number_2 print( "{} / {} = {}" .format(number_1, number_2, output_number)) else: print('You have not typed a valid operator, please run the program again.')
برای کسب اطلاعات بیشتر درمورد تابع format() مقالهی قالببندی خروجی در پایتون را مطالعه کنید.
اگر در اینجا کاربر عدد اول خود را 65 و عدد دوم را 24 وارد کند و در ادامه عملگر ضرب (*) را انتخاب کند، خروجی به شکل زیر است.
Enter your the first number: 65
Enter your the second number: 24
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
*
65 * 24 = 1560
خب همانطور که میبینید، ما به سادگی ماشین حساب خط فرمان خود را نوشتیم. در مراحل بعدی کد خود را کاملتر و ماشین حساب را کاراتر خواهیم کرد.
مرحلهی چهارم برنامه ماشین حساب ساده در پایتون: تعریف توابع
ما قصد داریم، کاری کنیم که وقتی برنامه اجرا شد، پس از یافتن جواب، خاتمه نیابد و همچنان تا وقتی که ما دستور خاتمه دادن به آن ندادیم، انجام عملیات ریاضی ادامه پیدا کند. برای چنین کاری لازم است از توابع استفاده کنیم.
ابتدا کدی که در بالا نوشتیم را در یک تابع به نام calculate() قرار میدهیم و سپس برنامه را با فراخوانی تابع اجرا میکنیم. به این صورت:
def calculate(): number_1 = int(input("Enter your the first number: ")) number_2 = int(input("Enter your the second number: ")) operation = input(''' Please type in the math operation you would like to complete: + for addition - for subtraction * for multiplication / for division ''') if operation == '+': output_number = number_1 + number_2 print( "{} + {} = {}" .format(number_1, number_2, output_number)) elif operation == '-': output_number = number_1 - number_2 print( "{} - {} = {}" .format(number_1, number_2, output_number)) elif operation == '*': output_number = number_1 * number_2 print( "{} * {} = {}" .format(number_1, number_2, output_number)) elif operation == '/': output_number = number_1 / number_2 print( "{} / {} = {}" .format(number_1, number_2, output_number)) else: print('You have not typed a valid operator, please run the program again.') # Call calculate() outside of the function calculate()
در ادامه، یک تابع دیگر اضافه میکنیم که در آن از کاربر درمورد ادامه داشتن برنامه یا خاتمه دادن به آن سوال میکند. این تابع را در پایان تابع اول و قبل از فراخوانی calculate() اضافه میکنیم.
در این تابع ابتدا از کاربر با دریافت Yes و No میپرسیم که به اجرا ادامه دهیم یا خیر. در ادامه با توجه به پاسخ کاربر، با استفاده از if و elif و else برنامه را ادامه، متوقف یا تکرار میکنیم.
... # 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()
در اینجا اگر کاربر، 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() ...
در قدم آخر، باید تابع agian() را در انتهای کدهای داخل تابع calculate() قرار دهیم تا بتوانیم بعد از پایان هر اجرا، از کاربر سوال کنیم به برنامه ادامه میدهد یا خیر. به این صورت:
def calculate(): number_1 = int(input("Enter your the first number: ")) number_2 = int(input("Enter your the second number: ")) operation = input(''' Please type in the math operation you would like to complete: + for addition - for subtraction * for multiplication / for division ''') if operation == '+': output_number = number_1 + number_2 print( "{} + {} = {}" .format(number_1, number_2, output_number)) elif operation == '-': output_number = number_1 - number_2 print( "{} - {} = {}" .format(number_1, number_2, output_number)) elif operation == '*': output_number = number_1 * number_2 print( "{} * {} = {}" .format(number_1, number_2, output_number)) elif operation == '/': output_number = number_1 / number_2 print( "{} / {} = {}" .format(number_1, number_2, output_number)) else: print('You have not typed a valid operator, please run the program again.') again() # 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.upper() == 'Y': calculate() # If user types N, say good-bye to the user and end the program elif calc_again.upper() == 'N': print('See you later.') # If user types another key, run the function again else: again() # Call calculate() outside of the function calculate()
مرحلهی پنجم برنامه ماشین حساب ساده در پایتون: بهبود کد
اکنون یک برنامهی خوب و کاربردی داریم، با این حال، موارد بسیاری وجود دارد که میتوان برای بهبود کد انجام داد. برای مثال میتوان یک خوشآمدگویی در ابتدای کد قرار داد. به این صورت:
def welcome(): print(''' Welcome to Calculator ''') ... # فراموش نکنید که این تابع را فراخوانی کنید 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 ''') ... # فراموش نکنید برای حل توان و باقیمانده تقسیم، باید عبارات شرطی دیگری بنویسید.
روشهای بسیاری برای رفع خطاها و اصلاح و بهبود هر پروژه کدنویسی وجود دارد. در نتیجه نباید منتظر باشید که فقط از یک راه حل صحیح واحد، مشکل به وجود آمده را حل کرد.
جمع بندی:
با هم یک پروژه کوچک برنامه نویسی با پایتون را مرحله به مرحله کدنویسی کردیم و دیدیم چگونه یک برنامه میتواند شاخ و برگ بگیرد و رشد کند. هیچ برنامه نویسی قادر نخواهد بود، برنامه را از همان ابتدا به صورت پیچیده بنویسد، بلکه او برنامه را از سادهترین حالت ممکن شروع کرده و به مرور آن را ارتقا داده و پیشرفتهتر میکند.
برنامهی ماشین حسابی که نوشتیم، این امکان را دارد تبدیل به یک ماشین حساب قویتر شود و عملیاتهای پیچیدهتری را محاسبه کند. به شما پیشنهاد میکنیم، برای این منظور خودتان این کار را انجام داده و به تجربه برنامه نویسی خود با پایتون، بیافزایید.
اگر به یادگیری بیشتر در زمینهی برنامه نویسی پایتون علاقه داری، یادگیری زبان پایتون بسیار ساده است. و با شرکت در دورهی متخصص پایتون توسعه وب در آینده میتونی اپلیکیشن موبایل و دسکتاپ بسازی و وارد حوزهی هوش مصنوعی هم بشوی.
چه امتیازی به این مقاله می دید؟
1 2 3 4 5
نویسنده
هیچوقت برای یادگیری دیر نیست؛ همیشه چیزهای جدید برای آموختن وجود دارد.. این دو جمله، همیشه آویزهی گوش منه، چون باعث میشه از یادگیری چیزهای تازه هراسی نداشته باشم.
منبع: 7learn.com