چالش روزانه · ۲۲ مهر ۱۴۰۵

چالش پایتون ۱۴: اولویت عملگرها و میانگین

قبل از اجرای کد، خروجی آن را پیش‌بینی کن. حدس نزن؛ خط به خط فکر کن پایتون چه می‌کند.

a = 18
b = 14
print(a + b / 2)
خروجی کدام است؟

نمایش پاسخ و توضیح

پاسخ درست: گزینهٔ ج — 25.0

گام به گام

تقسیم اولویت بالاتری از جمع دارد:

a + b / 2
= 18 + (14 / 2)
= 18 + 7.0
= 25.0

دو نکته:

  1. اولویت: اول / بعد +. برای میانگین باید پرانتز بگذارید: (a + b) / 2 ← 16.0.
  2. نوع: تقسیم / در پایتون همیشه float برمی‌گرداند، حتی وقتی تقسیم کامل باشد. پس جواب 25.0 است، نه 25.

جواب: 25.0

این یک خطای منطقی است

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

حالا خودت اجرا کن و تغییرش بده

a = 18
b = 14
print(a + b / 2)