علیرضا
12 ماه پیش توسط علیرضا مطرح شد
4 پاسخ

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

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


ثبت پرسش جدید
محمد حسین
تخصص : mevn stack
@saghari 12 ماه پیش مطرح شد
0

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

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

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

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


علیرضا
@alireza.gh147 12 ماه پیش مطرح شد
0

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


محمد حسین
تخصص : mevn stack
@saghari 12 ماه پیش مطرح شد
0
if '=' not in string:
    raise ValueError('use = operator')

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


علیرضا
@alireza.gh147 12 ماه پیش مطرح شد
0

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


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

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