1.2.19 · HinglishIntroduction to Programming (Python)
`range()` — start, stop, step
1.2.19· Coding › Introduction to Programming (Python)
YEH HAI KYA
Count formula ko scratch se derive karna — YEH FORM KYUN?
- Terms hain
start, start+step, start+2·step, …. - Hum
stopcross karne se pehle valid terms ki count chahte hain. - Cover karne wali "distance" hai
stop - start; har stepstepcover karta hai. Divide karne par milta hai kitne steps fit hote hain:(stop - start) / step. - Kyunki
stopexcluded hai, hum upar round karte hain (ceil): thodi si bhi baaki distance technically ek aur term maangti hai boundary tak pahunchne/paas karne ke liye... lekin hum usse pehle rok lete hain, isliye count exactly woh ceiling hai. - Agar division negative hai (jaise galat direction mein ja rahe ho), koi terms fit nahi hote →
max(0, …).
Ek handy integer-only version (ceil ke bina):
step > 0ke saath,
KAISE USE KARTE HAIN

Common mistakes
Recall Feynman: ek 12-saal-ke bacche ko samjhao
Ek hopscotch grid imagine karo. start woh square hai jis par tum pehle kudते ho. step hai har hop kitna door hai. stop ek wall hai jis par tum nahi land kar sakte — jis moment tumhari agla hop wall ko hit ya pass kar de, tum ruk jaate ho. Toh range(2, 9, 2) ka matlab hai: 2 par shuru karo, har baar 2 squares kudo (2→4→6→8), aur 9 ki wall se pehle ruk jao. Python poora hopscotch ek saath nahi banaata; bas tumhare puchne par agla square batata hai. Isliye yeh ek million squares ke liye bhi fast hai.
Active recall
range() ke teen argument forms kya hain?
range(stop), range(start, stop), range(start, stop, step).range(start, stop, step) mein, kya stop included hai?
Nahi — yeh excluded hai (half-open
[start, stop)).range(stop) mein default start aur step?
start = 0, step = 1.
Range ke k-ve term ka formula?
.
Elements ki sankhya ka formula?
.
list(range(10, 0, -2)) ka output?
[10, 8, 6, 4, 2].range(5, 5) kya deta hai?
[] (empty).step = 0 ke saath kya hota hai?
ValueError — step non-zero hona chahiye.range(10, 0) [] kyun deta hai?
Default step +1 hai, 10 se 0 tak upar nahi ja sakta.
Aisa range kaise banate hain jo N ko include kare?
range(start, N+1).Kya range float arguments le sakta hai?
Nahi —
TypeError; sirf integers.Kya range object ek list hai?
Nahi — yeh ek lazy immutable sequence hai (demand par generate karta hai).
Connections
- for loops —
range()sabse common loop driver hai. - Lists and list() — range ko materialise karne ke liye wrap karo:
list(range(...)). - Indexing and slicing — dono same half-open
[start, stop)convention use karte hain. - Arithmetic sequences —
a_k = start + k·stepek discrete arithmetic progression hai. - numpy.arange / linspace —
range()ke float-capable cousins. - enumerate() — alternative jab tumhe index aur value dono chahiye.