یک تابع پایتون بنویسید که یک عبارت ریاضی به صورت رشته و یک لیست از مقادیر x بگیرد، با استفاده از exec تابعی به نام f(x) از روی آن رشته بسازد و مقدار f را برای هر x محاسبه و لیست نتایج را برگرداند.

7.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:45

0.0

راهنما: با استفاده از exec می‌توانید از رشته‌ای مانند "def f(x): return 2*x+math.sin(x)" کدی تولید و در یک دیکشنری فضای نام (globals/locals) اجرا کنید، سپس تابع ساخته‌شده را از آن دیکشنری فراخوانی کنید. از ماژول math در فضای نام استفاده کنید تا توابع مثل sin و cos در دسترس باشند، و با try/except خطاهای نحوی یا زمان اجرا را هندل کنید. نکته‌ایمنی: اجرای کد دلخواه خطرناک است؛ برای کاربردهای واقعی از روش‌های امن‌تر (مثل ast یا کتابخانه‌های ارزیابی ریاضی) استفاده کنید.

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

استفاده از exec برای تبدیل عبارت رشته‌ای به تابع خطرناک است و ممکن است کد دلخواه اجرا شود. برای کاهش خطرات، فضای نام را محدود کنید و فقط به عناصر لازم مانند math و تابع تعریف‌شده دسترسی بدهید. از try/except استفاده کنید تا خطاهای نحوی یا زمان اجرا را مدیریت کرده و نتیجه برای هر x جمع‌آوری شود. اگر امنیت بیشتری می‌خواهید، از روش‌های امن‌تری مانند ast یا کتابخانه‌های ارزیابی ریاضی استفاده کنید یا حد و مرزهای ورودی را به شدت محدود کنید.

گزارش

1 پاسخ

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

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