🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ امیرحسین دربندی
نوشتن تابع eval
جامعه پایتون (وب) ایجاد شده در ۰۳ اردیبهشت ۱۴۰۱

با سلام بنده تابع eval خودم رو بدین صورت نوشتم ممنون میشم اشتباهم رو بگین و راهنمایی کنید ممنون 5c60-2022-04-21_10-30-27.png

درود

نکته مهم که بهتره همیشه یادتون باشه، اینه که پایتون به فاصله و ... در کدنویسی حساس هست.

الان خطایی که در تصویر بهش اشاره شده، اینه که در خط 5 نمیدونه elif به کدوم if اشاره داره، چون یه تب جلوتر از if قبلی نوشته شده. اگر این خط رو اصلاح کنید مجددا رو خط 7 هم به همین خطا برمیخورید که اون هم باید یه تب عقب‌تر بیاد.

نکته بعدی اینه که تابع شما یک ورودی به اسم mre گرفته که در بدنه تابع در خط 1 تعریف نشده... رو این هم خطا میگیرید و باید رفع بشه.

پس در نهایت کد شما چنین چیزی میشه:

def jval(val):
    for jval in val:
        if (jval.isalnum()):
            exec(jval)
        elif(jval.isalpha()):
            print("wrong")
        else:
            print(jval)
mre = input()
jval(mre)
نازنین کریمی مقدم ۰۳ اردیبهشت ۱۴۰۱، ۱۷:۵۴

با سلام ممنونم بابت اصلاح کد و نکاتی که یادآوری کردین خیلی مفید بودن

فقط سوالی که داشتم

val که داخل پرانتز تعریف jval نوشتین ایا اسم هست و هرچیزی میتونه جاش باشه یا کاراکتر رزرو شده سینتکس برای مشخص کردن مقدار هستش ؟


امیرحسین دربندی ۰۴ اردیبهشت ۱۴۰۱، ۱۶:۲۲

خواهش میکنم

نه همینطوری یچیزی گذاشتم بجای اسم متغیر ورودی، اون لحظه اصلا حواسم نبود val جزو عبارات رزرو شده در پایتون هست :) :)

پاینده باشید.

بهترین پاسخ
نازنین کریمی مقدم ۰۴ اردیبهشت ۱۴۰۱، ۱۶:۵۹