7095 for-slingor med range
while-slingor med räknare kan skrivas som for-slingor med range. Exempel följer nedan.
Exempel 1
for i in range(5):
print(i)
# skriver ut:
# 0
# 1
# 2
# 3
# 4
Exempel 1 men while-slinga
i = 0
while i < 5:
print(i)
i = i + 1
Det är lätt att glömma den sista raden i = i + 1
. Glöms raden blir det en evighetsslinga. I en for-slinga som kombineras med range kan det inte hända.
Exempel 2
for n in range(1, 4):
print(n, n ** 2)
# utskrift:
# 1 1
# 2 4
# 3 9
Exempel 2 med while-slinga
Nedanstående kod ger samma utskrift som koden ovan. Ett vanligt fel i while-slingan är att glömma att räkna upp räknaren n
. Med en for-slinga tillsammans med range så undviks detta fel.
n = 1
while n < 4:
print(n, n ** 2)
n = n + 1
Exempel 3
for i in range(7, 14, 2):
print(i)
# utskrift:
# 7
# 9
# 11
# 13
Exempel 3 men med en while-slinga
i = 7
while i < 14:
print(i)
i = i + 2
För den nyfikne
Uppgift
1
Använd en for-slinga och range för att skriva ut:
A
0, 1, 2, 3, 4
B
3, 4, 5, 6, 7
C
4, 7, 10, 13, 16, 19
D
20, 25, 30, 35, 40
E
10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
Tips!
Jämförelse med andra språk
I andra språk som JAVA, C, C++, JavaScript finns det for-slingor med följande syntax.
// JAVA
for (int i = 0; i < 5; i = i + 1)
{
System.out.println(i);
}
Denna typ av slinga saknas i Python.