ارزیابی روش Postfix چیست ؟

0

رزیابی روش Postfix چیست ؟

بهمنظور ارزیابی یک عبارت postfix ما از تجزیه کنندة بخش قبـل و الگـوریتم مربـوط بـه بخش قبل از آن (دو بخش پیش) استفاده میکنیم. براي حفظ سادگی، کار را با یـک ارزیـاب کـه تنهـا عملگرهاي + و * را اجرا میکند، آغاز مینماییم:

def evalPostfix(expr):
import re
tokenList = re.split(“([^0-9])”, expr)
stack = Stack()
for token in tokenList:
if token == ” or token == ‘ ‘:
continue
if token == ‘+’:
sum = stack.pop() + stack.pop()
stack.push(sum)
elif token == ‘*’:
product = stack.pop() * stack.pop()
stack.push(product)
else:
stack.push(int(token))
return stack.pop()

شرط اول فواصل خالی و رشتههاي تهی را بررسی میکند و دو شرط بعدي عملگرها را کنتـرل میکنند. در حال حاضر فرض میکنیم هر کـاراکتر دیگـر بایـد یـک عملونـد باشـد. البتـه بهتـر اسـت وروديهاي نادرست را بررسی نماییم و پیغـام خطـایی گـزارش دهـیم. امـا در آینـده بـه ایـن موضـوع میپردازیم. بیایید این کد را با ارزیابی فرم postfix عبارت 2)*47+56 (آزمایش نماییم:

>>> print evalPostfix “56 47 + 2
206

به اندازة کافی دقیق است.

برای اموزش های ویدیویی زبان پایتون به بستر ویدیو های اموزشی بروید

بستر اموزش های ویدویی 

کیانا ابراهیمی پاسخ داد اکتبر 15, 2020
دیدگاهتان را بنویسید
شما در حال مرور یکی از 1 مورد پاسخ هستید، برای دیدن همه پاسخ ها کلیک کنید.
نوشتن پاسخ
  • فعالسازی
  • بازدیدها2516 بار
  • پاسخ1 پاسخ
ورود به متاورس | متاورس ایرانی
ورود به متاورس ایران یا همان متاورس ملی

علامت ذره بین Tutorials سمت راست به رنگ قرمز به شما کمک خواهد کرد .

جدید ترین سوالات پرسیده شده

منقضی شدن سم بتانال پاسخ 1 | 0 رأی
ایا ایدز گزفتم؟ پاسخ 0 | 0 رأی
انتخاب ورزش رزمی پاسخ 0 | 1 رأی
وزارت تعاون کار و رفاه اجتماعی اسناد و املاک کشور مرکز آموزش ویدیویی انجمن پرسش و پاسخ فروشگاه ملی تولید کنندگان مدیریت بر مدیران حم رسانه ملی اخبار متا دانشگاه متاورس استخدام | دانش محور فروشگاه مجازی حم تبلیغات ملی بازار NFT متاورس رنگ نقشه ملی سه بعدی متا تونل زمان متاآرت وبرنگ خانه