یک اسکریپت پایتون بنویسید که یک عبارت ریاضی را بهصورت رشته از ورودی بگیرد، با استفاده از exec یک تابع f(x) تعریف کند، مقادیر f را روی یک آرایه x (با np.linspace) محاسبه کند و مجموع مقادیر یا انتگرال تقریبی با روش ذوزنقه را محاسبه و نتایج را در یک فایل CSV ذخیره کند.
7.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:45 0.0
روش حل: رشته ورودی را تبدیل به یک تعریف تابع مانند "def f(x): return " کنید و با exec آن را در یک دیکشنری محلی اجرا کنید تا تابع f قابل استفاده شود. از numpy برای ساختن آرایه x = np.linspace(a, b, n) و محاسبه مقادیر y = f(x) استفاده کنید (اگر عبارت شامل توابع numpy است، از np. در عبارت استفاده کنید). برای انتگرال تقریبی میتوانید از روش ذوزنقه (np.trapz) یا محاسبه دستی استفاده کنید و خروجی را با numpy.savetxt یا ماژول csv در فایل CSV ذخیره کنید. نکته: برای ایمنی سادهاز eval/exec فقط روی ورودیهای مورد اعتماد استفاده کنید و برای دسترسی تابع از یک دیکشنری محلی به exec پاس بدهید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
استفاده از exec روی ورودی کاربر خطرناک است، پس محدودسازی محیط اجرایی و استفاده از سازوکار امن مانند یک دیکشنری کنترلی یا روشهای جایگزین توصیه میشود. عبارت ورودی را به شکل تعریف تابع مانند "def f(x): return ..." بسنجید و با اجرای محدود در یک دیکشنری محلی به exec بدهید تا مقدار f در دسترس باشد. برای محاسبه مقادیر از x = np.linspace(a, b, n) و y = f(x) استفاده کنید و اگر عبارت شامل توابع numpy است، از np استفاده کنید و برای انتگرال نیز از np.trapz بهره ببرید. سپس خروجی را با numpy.savetxt یا csv.writer در فایل CSV ذخیره کنید تا ستونهای x و y و نتیجه انتگرال قابل استفاده باشند.
گزارش