راکت

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

4 پاسخ

سلام به همه عزیزان
داخل عکسی که فرستادم چجوری میتونم اگه کاربر یه رشته غیراستاندارد وارد کرد بهش خطا بدم.
رشته غیراستاندارد مثل موارد زیر:
=34-3598-24
=254
=56-50+25
=10-20+30
سوال مسعله هم این هست: برنامه که کاربر یک رشته وارد کنه که شامل یک عدد بعد یه عملگر و بعد یه عدد دیگه و = و با زدن دکمه اینتر اون نتیجه محاسبه در خروجی چاپ بشه. عملگر ها هم (+ - * /)
ممنون از همه دوستانی که مشارکت میکنند. استاد عزیز جناب موسوی اگه شما هم همکاری کنید ممنون میشم
 تصویر

ثبت پرسش جدید

پاسخ‌ها

4
محمد حسین
محمد حسین
@saghari

تخصص: mevn stack

فکر کنم اینطوری بشه

ops = ['+', '-', '*', '/']
num_ops = sum([1 for c in string if c in ops])

if num_ops != 1:
    raise ValueError('use an operator')

چک میکنه اگه تعداد عملگرا برابر با یکی نبود ارور میده

علیرضا
علیرضا
@alireza.gh147

ممنون اگه مساوی وارد نکرد چجوری خطا نشون بدیم

شاید پاسخ شما همین‌جا باشد

محمد حسین
محمد حسین
@saghari

تخصص: mevn stack

if '=' not in string:
    raise ValueError('use = operator')

با هر کی کار داری منشنش کن که پیدات کنه اینطوری @saghari

علیرضا
علیرضا
@alireza.gh147

مرسی عزیز واقعا فکر نمیکردم اینقدر شرطش راحت باشه اصلا حواسم نبود

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام