با سلام بنده تابع eval خودم رو بدین صورت نوشتم ممنون میشم اشتباهم رو بگین و راهنمایی کنید ممنون
درود
نکته مهم که بهتره همیشه یادتون باشه، اینه که پایتون به فاصله و ... در کدنویسی حساس هست.
الان خطایی که در تصویر بهش اشاره شده، اینه که در خط 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 جزو عبارات رزرو شده در پایتون هست :) :)