با استفاده از تابع داخلی compile در پایتون، برنامه‌ای بنویسید که لیستی از عبارات ریاضی (به‌صورت رشته) را به آبجکت‌های کد تبدیل کرده و آن‌ها را برای هر مقدار در یک آرایه عددی ارزیابی کند و ماتریسی از نتایج تولید کند.

3.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:46

0.0

در پایتون از compile(source, filename, mode='eval') برای تبدیل رشته‌های شامل عبارات ریاضی به آبجکت کد استفاده کنید و سپس با eval(code_obj, globals, locals) یا exec آن‌ها را اجرا کنید؛ برای هر عبارت و هر مقدار x در آرایه، مقدار را در dict محلی مثل {'x': val} بگذارید و نتیجه را ذخیره کنید. نکات: برای ارزیابی مکرر عبارات ابتدا آن‌ها را کامپایل کنید تا کارایی بهتر شود، خطاها را با try/except مدیریت کنید و در صورت دریافت رشته‌های ورودی از منابع ناشناخته از اجرای کدهای مخرب جلوگیری کنید (مثلاً ورودی‌ها را محدود یا بررسی کنید).

توسط پژوهشگر در 220 روز قبل ساعت 01:46
دسته بندی ها: Python Python for beginner
arman در 220 روز قبل ساعت 12:04

استفاده از تابع compile با mode='eval' برای تبدیل رشته‌های ریاضی به آبجکت کد مناسب است، اما ورودی‌های ناامن را قبل از اجرا محدود و اعتبارسنجی کنید. برای بهبود کارایی، عباراتها را یک‌بار کامپایل کرده و از همان code object در ارزیابی با هر مقدار x استفاده کنید. برای هر مقدار x در آرایه، مقدار را در دیکشنری محلی مانند {'x': val} قرار داده و نتیجه را در ماتریس خروجی ذخیره کنید. خطاها را با try/except مدیریت کنید و به محدودیت‌های امنیتی درباره اجرای کد ناشناس توجه کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری