حل عبارت ریاضی با پشته در پایتون

حل عبارت ریاضی با پشته در پایتون

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

به نحوه ورود و خروج داده ها از پشته Lifo می گوییم.

در این نوشته با حل عبارت های ریاضی معمولی یا infix به کمک پشته ها (دو پشته) با زبان برنامه نویسی پایتون می پردازیم.

همراه ما باشید.

 

خواندن نوشته های زیر نیز به شما توصیه می شود:

 

حل عبارت ریاضی با پشته در پایتون

حل عبارت ریاضی با پشته در پایتون
حل عبارت ریاضی با پشته در پایتون

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

 

با توجه به کد بالا به عنوان مثال یک ورودی مثل ورودی زیر می دهیم:

((4*2)-(3-1))/(8-3*2)

و در صورتی که کد بالا را درست اجرا کنید باید خروجی 3 را مشاهده کنید.

 

توضیحات – اجرای عبارت میانوندی با پشته در پایتون

  • در کد بالا از دو پشته با نام های stack_o و stack_n استفاده شده است که از پشته ی stack_n به عنوان پشته ای برای نگهداری اعداد و از پشته ی stack_o برای نگهداری عملگرها استفاده کردیم.
  • کد بالا با زبان برنامه نویسی پایتون نوشته شده است.
  • در کد بالا عبارت ریاضی میاوندی را می توانید به صورت دستی وارد کنید و هر بار یک عبارت خاص اجرا کنید و در واقع ورودی را از کاربر خواهید گرفت.
  • در کد بالا توابع زیر را تعریف کرده ایم:
    • isOperator
    • checkPriority
    • isNumber
    • runOperator
    • Calculation
  • این برنامه اعداد اعشاری را نیز محاسبه می کند.

 

کتاب رایگان پایتون:

 

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

موفق باشید.

برای امتیاز به این نوشته کلیک کنید!
[کل: 0 میانگین: 0]
با دوستانتان به اشتراک بگذارید

دیدگاهتان را بنویسید

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

*

code