چالش روزانه · ۲۲ مهر ۱۴۰۵
چالش پایتون ۷: break وسط range
قبل از اجرای کد، خروجی آن را پیشبینی کن. حدس نزن؛ خط به خط فکر کن پایتون چه میکند.
mysum = 0
for i in range(5, 11, 2):
mysum += i
if mysum == 5:
break
print(mysum)نمایش پاسخ و توضیح
پاسخ درست: گزینهٔ الف — 5
ردگیری
range(5, 11, 2) اعداد 5, 7, 9 را تولید میکند (۱۱ جزو آن نیست).
| دور | i |
mysum |
mysum == 5؟ |
|---|---|---|---|
| ۱ | 5 | 0 + 5 = 5 | ✅ ← break |
همان دور اول mysum میشود ۵، شرط برقرار است و break حلقه را فوراً تمام میکند. دورهای ۷ و ۹ هیچوقت اجرا نمیشوند.
خروجی: 5
بدون break جواب 5 + 7 + 9 = 21 بود. (گزینهٔ ۲۱ برای کسانی است که break را ندیدند!)
حالا خودت اجرا کن و تغییرش بده
mysum = 0
for i in range(5, 11, 2):
mysum += i
if mysum == 5:
break
print(mysum)