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

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

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


ثبت پرسش جدید
محمد حسین
تخصص : mevn stack
@saghari 1 سال پیش مطرح شد
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 1 سال پیش مطرح شد
0

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


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

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


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

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


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

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