چالش روزانه · ۲۲ مهر ۱۴۰۵
چالش پایتون ۱۱: range با گام منفی
قبل از اجرای کد، خروجی آن را پیشبینی کن. حدس نزن؛ خط به خط فکر کن پایتون چه میکند.
print(len(range(3, 10, 2)), list(range(10, 1, -3)))نمایش پاسخ و توضیح
پاسخ درست: گزینهٔ الف — 4 [10, 7, 4]
اولی: range(3, 10, 2)
از ۳ شروع کن، دوتا دوتا جلو برو، قبل از ۱۰ بایست: 3, 5, 7, 9 ← چهار عدد.
دومی: range(10, 1, -3)
از ۱۰ شروع کن، سهتا سهتا کم کن، قبل از رسیدن به ۱ بایست: 10, 7, 4.
عدد بعدی ۱ بود، ولی «توقف» هیچوقت جزو نتیجه نیست، با گام منفی هم همینطور.
جواب: 4 [10, 7, 4]
یادتان باشد
range(start, stop, step)←stopهرگز جزو نتیجه نیست.- با گام منفی،
startباید ازstopبزرگتر باشد؛ وگرنهrangeخالی است:list(range(1, 10, -1))←[].
حالا خودت اجرا کن و تغییرش بده
print(len(range(3, 10, 2)), list(range(10, 1, -3)))