خطاها
بعضی خطها به آخر نمیرسند. برنامه همانجا میایستد و برای آن ایست یک نام میگذارد. 8 / 2 به آخر میرسد: هشت را دو نفر با هم قسمت میکنند و سهم هر کدام چهار است. 1 / 0 به آخر نمیرسد: کسی نیست که آن یک را به او بدهید. نام این ایست ZeroDivisionError است.
print(8 / 2)
print(1 / 0)
print("rice")
روی صفحه 4.0 میآید و بعد برنامه میایستد. 4.0 همان چهار است، با یک ممیز، چون این تقسیم عدد را اینطور مینویسد. rice نوشته نمیشود. خط بعد از ایست اجرا نمیشود.
نام را در پایان پیام بخوانید. ZeroDivisionError یعنی این خط بر صفر تقسیم کرده است. مشکل دیگر نام دیگری میگیرد. نام است که مشکلها را از هم جدا میکند.
اگر tea را قبلاً مقدار نداده باشید، print(tea) میایستد. نام آن ایست NameError است. print("tea") خط دیگری است: گیومه متن میسازد و همان متن نوشته میشود. بدون گیومه، Python دنبال یک نام میگردد.
Python یک مقدار نمیسازد که کار را ادامه دهد. None نمینویسد و بعد نوبت rice نمیشود. ایست، پایان همین برنامه است.
📊 کدام ایست، یا اصلاً ایست نه
| خط | چه میشود |
|---|---|
| 1 / 0 | برنامه میایستد و نامش ZeroDivisionError است |
| print(tea) و tea قبلاً مقدار نگرفته | برنامه میایستد و نامش NameError است |
| 8 / 2 | 4.0 نوشته میشود و برنامه نمیایستد |
| print("rice") بعد از 1 / 0 | آن خط اجرا نمیشود |
خود تقسیم مجاز است. 8 / 2 مقدار 4.0 را مینویسد و نمیایستد. صفر سمت راست خطِ تقسیم است که خط دوم را متوقف میکند.
صفحهٔ بعد ایست را میگیرد تا خطهای بعدی هنوز اجرا شوند. این صفحه فقط نام ایست را میخواند.
این ایست چه نامی دارد
- پیش از ایست چه نوشته میشود؟
- نام ایست روی 1 / 0 چیست؟
- برای print("rice") چه پیش میآید؟
- اگر print(tea) بنویسید و tea قبلاً مقدار نگرفته باشد، نام ایست چیست؟
- 8 / 2 چه میکند؟
دو نام، دو مشکل
صفحه 4.0 را نشان میدهد و بعد برنامه میایستد. rice نوشته نمیشود. 1 / 0 نامش ZeroDivisionError است. نامی که مقدار نگرفته NameError است. 8 / 2 نمیایستد. صفحهٔ بعد ایست را میگیرد تا خطهای بعدی هنوز اجرا شوند.
🧠 دانش خود را بیازمایید
دانش خود را بیازمایید
خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کردهاید
📝 دستورالعملها
- هر سوال را با دقت بخوانید
- بهترین پاسخ را برای هر سوال انتخاب کنید
- میتوانید آزمون را هر چند بار که میخواهید تکرار کنید
- پیشرفت شما در بالا نمایش داده میشود