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