ویدیو رفع خطای ZeroDivisionError در پایتون


یکی از رایجترین خطاهایی که در پایتون (و حتی زبانهای دیگر برنامهنویسی) با آن روبهرو میشوید، خطای ZeroDivisionError است. این خطا زمانی رخ میدهد که شما بخواهید عددی را بر صفر تقسیم کنید. طبق قوانین ریاضی، تقسیم بر صفر تعریف نشده است، بنابراین پایتون هم نمیداند چطور باید چنین عملیاتی را انجام دهد.
چرا تقسیم بر صفر در ریاضی غیرممکن است؟
جواب کوتاه این است که چون نتیجه آن مشخص نیست. مثلاً اگر بگوییم ۱۰ تقسیم بر صفر، نمیتوانیم بگوییم خروجی چه عددی است چون هیچ عددی وجود ندارد که اگر در صفر ضرب شود، عدد ۱۰ بدهد. پس این یک قانون ریاضی است، نه نظر شخصی برنامهنویس یا زبان برنامهنویسی.
مثالهای رایج از ZeroDivisionError
در سادهترین حالت وقتی میخواهید عددی را مستقیماً تقسیم بر صفر کنید، با این ارور روبهرو میشوید.
اما این خطا همیشه به این وضوح نیست. مثلاً اگر از درصد (%) برای محاسبه باقیمانده تقسیم استفاده کنید ولی مخرج صفر باشد، باز هم همین خطا را دریافت خواهید کرد.
خطای تقسیم بر صفر زمانی که ورودی از کاربر دریافت میکنید
گاهی شما ورودی را از کاربر میگیرید و انتظار دارید کاربر عدد مناسبی وارد کند. ولی اگر کاربر مقدار صفر وارد کند، برنامهتان دچار خطا میشود. اینجاست که برنامه باید پیشبینی و مدیریت خطا داشته باشد.
چگونه ZeroDivisionError را مدیریت کنیم؟
1. استفاده از Try-Except
با استفاده از بلوک try-except میتوانید از بروز خطا جلوگیری کرده و بهجای کرش شدن برنامه، یک پیغام مناسب به کاربر نمایش دهید.
2. بررسی دستی مقدار قبل از تقسیم
راه بهتر و حرفهایتر این است که قبل از تقسیم، بررسی کنید که عدد مخرج صفر نباشد. اگر صفر بود، به کاربر اعلام کنید که مقدار وارد شده معتبر نیست.