یک اسکریپت پایتون بنویسید که یک عبارت ریاضی را به‌صورت رشته از ورودی بگیرد، با استفاده از 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 پاس بدهید.

توسط پژوهشگر در 201 روز قبل ساعت 03:45
دسته بندی ها: Python Python for beginner
nima در 201 روز قبل ساعت 05:22

استفاده از 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 و نتیجه انتگرال قابل استفاده باشند.

گزارش

1 پاسخ

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

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