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

5 دقیقه
naei.ir/blog/video/vso5zi4

یکی از رایج‌ترین خطاهایی که در پایتون (و حتی زبان‌های دیگر برنامه‌نویسی) با آن روبه‌رو می‌شوید، خطای ZeroDivisionError است. این خطا زمانی رخ می‌دهد که شما بخواهید عددی را بر صفر تقسیم کنید. طبق قوانین ریاضی، تقسیم بر صفر تعریف نشده است، بنابراین پایتون هم نمی‌داند چطور باید چنین عملیاتی را انجام دهد.

چرا تقسیم بر صفر در ریاضی غیرممکن است؟

جواب کوتاه این است که چون نتیجه آن مشخص نیست. مثلاً اگر بگوییم ۱۰ تقسیم بر صفر، نمی‌توانیم بگوییم خروجی چه عددی است چون هیچ عددی وجود ندارد که اگر در صفر ضرب شود، عدد ۱۰ بدهد. پس این یک قانون ریاضی است، نه نظر شخصی برنامه‌نویس یا زبان برنامه‌نویسی.

مثال‌های رایج از ZeroDivisionError

در ساده‌ترین حالت وقتی می‌خواهید عددی را مستقیماً تقسیم بر صفر کنید، با این ارور روبه‌رو می‌شوید.

اما این خطا همیشه به این وضوح نیست. مثلاً اگر از درصد (%) برای محاسبه باقیمانده تقسیم استفاده کنید ولی مخرج صفر باشد، باز هم همین خطا را دریافت خواهید کرد.

خطای تقسیم بر صفر زمانی که ورودی از کاربر دریافت می‌کنید

گاهی شما ورودی را از کاربر می‌گیرید و انتظار دارید کاربر عدد مناسبی وارد کند. ولی اگر کاربر مقدار صفر وارد کند، برنامه‌تان دچار خطا می‌شود. اینجاست که برنامه باید پیش‌بینی و مدیریت خطا داشته باشد.

چگونه ZeroDivisionError را مدیریت کنیم؟

1. استفاده از Try-Except

با استفاده از بلوک try-except می‌توانید از بروز خطا جلوگیری کرده و به‌جای کرش شدن برنامه، یک پیغام مناسب به کاربر نمایش دهید.

2. بررسی دستی مقدار قبل از تقسیم

راه بهتر و حرفه‌ای‌تر این است که قبل از تقسیم، بررسی کنید که عدد مخرج صفر نباشد. اگر صفر بود، به کاربر اعلام کنید که مقدار وارد شده معتبر نیست.

امیرحسین نائی
برنامه نویس 💻 علاقمند به بیزینس 🚀
  • موسس آکادمی برنامه‌نویسی نائی
  • بنیان‌گذار کدبزن، رادیو کدبزن، EveryAPI، دستیار بیزینس و...
  • نویسنده‌ی کتاب پرفروش «برنامه‌نویسی رو از اینجا شروع کن!»
  • بیش از 10 سال تجربه در برنامه‌نویسی و راه‌اندازی کسب‌وکار
  • تولیدکننده‌ی ۱۰۰+ ساعت ویدیوی آموزشی رایگان

سایر مطالب

هوش مصنوعی جای برنامه نویسان رو میگیره؟
مقاله آموزشی

هوش مصنوعی جای برنامه نویسان رو میگیره؟

با ظهور پرسروصدای هوش مصنوعی و ابزار های حرفه ای این حوزه مثل chatgpt بسیاری از دوستانی که علاقمند به برنامه نویسی هستند و بتازگی یادگیری این حوزه رو شروع کردند نگران شدند که «نکنه هوش مصنوعی جای مارو بگیره و برنامه نویسان رو بیکار کنه؟» این سوالی است که در چند سال اخیر به مراتب از من پرسیده میشه و به همین خاطر تصمیم گرفتم امروز اینجا یکبار برای همیشه درباره اش صحبت کنم. نکته ای که قبل از شروع باید بهش اشاره کنم اینه که هیچ کس درباره اینده خبر نداره و من هم پیشگو نیستم و نمیتونم آینده رو ببین...

ادامه مطلب
5 تمرین برنامه نویسی پایتون از آسان تا سخت +جواب
مقاله آموزشی

5 تمرین برنامه نویسی پایتون از آسان تا سخت +جواب

تمرین برنامه نویسی یکی از مهمترین بخش های یادگیری برنامه نویسیه بنابراین اگر داری برنامه نویسی یاد میگیری حتما تمرین کردن رو باید جزو اولویت هات قرار بدی. توی این مقاله 5 تا تمرین برنامه نویسی از آسون تا سخت برات آوردم که میتونی با هر زبان برنامه نویسی که دوست داری انجامشون بدی. در ادامه هر سوال، جواب اون سوال رو با پایتون آوردیم ولی میتونی با زبان های برنامه نویسی دیگه هم انجامشون بدی. تمرین پایتون بخش پذیری بر 5 1.  برنامه ای بنویسید که عددی را از ورودی دریافت کند و بررسی کند که عدد بر 5 بخ...

ادامه مطلب
خبرنامه رایگان

ایمیلت رو ثبت کن تا از مقالات جدید، تخفیف دوره ها، محصولات جدید و... زودتر از بقیه باخبر بشی!

تخفیف فقط برای شما

قابل استفاده روی تمام محصولات آموزشی

کد: