یک برنامهٔ پایتون بنویسید که نام یک تابع ریاضی (مثلاً 'sin' یا 'exp') را از کاربر بگیرد و با استفاده از getattr روی ماژول math مقدار تابع و مشتق عددی آن را در یک نقطهٔ مشخص (با تفاضل مرکزی) محاسبه و نمایش دهد.

5.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:37

0.0

برای حل این مسئله ماژول math را وارد کنید، نام تابع را به‌صورت رشته از کاربر دریافت کنید و با getattr(math, func_name) شیء callable تابع را بگیرید؛ سپس مقدار f(x) و مشتق عددی را با فرمول تفاضل مرکزی (f(x+h)-f(x-h))/(2*h) محاسبه کنید. ورودی‌ها را به float تبدیل کنید و مقدار h کوچک (مثل 1e-6) انتخاب کنید. نکات و ترفندها: قبل از فراخوانی از hasattr یا try/except برای مدیریت AttributeError استفاده کنید، برای توابع برداری می‌توانید به‌جای math از numpy استفاده کرده و getattr را روی آن به‌کار ببرید، و خطاهای دامنه‌ای (مثل log منفی) را با مدیریت استثناها کنترل کنید.

توسط پژوهشگر در 221 روز قبل ساعت 01:37
دسته بندی ها: Python Python for beginner
arash در 221 روز قبل ساعت 12:36

این تمرین خوب است چون با getattr از روی ماژول math تابعی را انتخاب می‌کند و مشتق عددی آن را با تفاضل مرکزی محاسبه می‌کند. قبل از فراخوانی تابع، وجود آن را با hasattr بررسی کنید یا با بلوک try/except از AttributeError جلوگیری کنید. مقدار h را کوچک نگه دارید (مثلاً 1e-6) و در عین حال با تست‌های مختلف دقت فشرده را بررسی کنید تا خطای عددی به حداقل برسد. همچنین به محدودهای دامنه‌ای مانند log منفی توجه کنید و در صورت بروز استثنا پیام خطای مناسبی بدهید؛ اگر نیاز بود می‌توانید به جای math از numpy استفاده کنید تا توابع برداری هم پشتیبانی شوند.

گزارش

1 پاسخ

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

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