با استفاده از تابع داخلی 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 مدیریت کنید و در صورت دریافت رشتههای ورودی از منابع ناشناخته از اجرای کدهای مخرب جلوگیری کنید (مثلاً ورودیها را محدود یا بررسی کنید).
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
استفاده از تابع compile با mode='eval' برای تبدیل رشتههای ریاضی به آبجکت کد مناسب است، اما ورودیهای ناامن را قبل از اجرا محدود و اعتبارسنجی کنید. برای بهبود کارایی، عباراتها را یکبار کامپایل کرده و از همان code object در ارزیابی با هر مقدار x استفاده کنید. برای هر مقدار x در آرایه، مقدار را در دیکشنری محلی مانند {'x': val} قرار داده و نتیجه را در ماتریس خروجی ذخیره کنید. خطاها را با try/except مدیریت کنید و به محدودیتهای امنیتی درباره اجرای کد ناشناس توجه کنید.
گزارش