Python for Deyimi
for deyimi kullanılarak yapılacak döngüler, tekrar sayısının önceden belli olduğu durumlarda kullanılmak içindir. Deyim şekilleri aşağıdaki gibidir.
for i in range(başlangıç, bitiş):
deyimler
for i in range(başlangıç, bitiş, artış):
deyimler
İlk deyimde başlangıç değerinden başlayıp bitiş-1’e kadar çevrim oluşturur. İkinci deyimde ise başlangıçtan başlayıp her arttırım miktarı kadar arttırılarak çevrim son-1 değerine kadar çalışır.
Aşağıda bol miktarda program ve çıktıları birlikte vardır lütfen dikkatli bir şekilde inceleyiniz.
Program:
""" 1'den 9 a kadar dön 9 dahil değil """
for x in range(1,9):
print("x= ", x)
print("\n")
"""
x= 1
x= 2
x= 3
x= 4
x= 5
x= 6
x= 7
x= 8
"""
""" 1'den 9'a kadar 2'şerli ilerleyerek dön """
for x in range(1,9,2):
print("x= ", x)
print("\n")
"""
x= 1
x= 3
x= 5
x= 7
"""
""" -10'dan 0'a kadar 3'erli ilerleyerek dön """
for x in range(-10, 0, 3):
print("x= ", x)
print("\n")
"""
x= -10
x= -7
x= -4
x= -1
"""
""" Kelimedeki her karakteri dön """
for x in "istanbul":
print(x)
print("\n")
"""
i
s
t
a
n
b
u
l
"""
""" Karabük'ün ilçelerini dön """
ilceler = ["Safranbolu","Eflani","Eskipazar", "Ovacık", "Yenice", "Karabük"]
for x in ilceler:
print(x)
print("\n")
"""
Safranbolu
Eflani
Eskipazar
Ovacık
Yenice
Karabük
"""
""" Karabük'ün İlçelerini ve Sıra Numarasını yazarak dön """
ilceler = ["Safranbolu","Eflani","Eskipazar", "Ovacık", "Yenice", "Karabük"]
for x in range(len(ilceler)):
print(x+1," ", ilceler[x])
print("\n")
"""
1 Safranbolu
2 Eflani
3 Eskipazar
4 Ovacık
5 Yenice
6 Karabük
"""
""" Karabük'ün İlçelerini ve Sıra Numarasını yazarak dön ve listenin sonunda bitti de. """
ilceler = ["Safranbolu","Eflani","Eskipazar", "Ovacık", "Yenice", "Karabük"]
for x in range(len(ilceler)):
print(x+1," ", ilceler[x])
else:
print("Karabük'ün ilçeleri Bitti.")
print("\n")
"""
1 Safranbolu
2 Eflani
3 Eskipazar
4 Ovacık
5 Yenice
6 Karabük
Karabük'ün ilçeleri Bitti.
"""
Program: 1+2+…+n adet sayının toplamını for döngüsü ile bulalım.
n=input("Üst sınır Tamsayı... ")
n=int(n)
toplam=0
for x in range(1, n+1):
toplam+=x
print("1+2+3...",n,"=",toplam)
print("x=",x)
"""
Üst sınır Tamsayı... 10
1+2+3... 10 = 55
x= 10
"""
Program: Faktöryel hesabını for döngüsüyle yapalım.
n=input("Üst sınır Tamsayı... ")
n=int(n)
fakt=1
for x in range(1, n+1):
fakt*=x
print(n, "!=1+2+3...",n,"=",fakt)
print("x=",x)
"""
Üst sınır Tamsayı... 10
10 !=1+2+3... 10 = 3628800
x= 10
"""
Program: Alterne seri toplamının hesaplanması
s=0
p=1
x=1.0
for i in range(1,5):
s=s+(x*(x+1))/((x+2)*(x+3))*p
x=x+4
p=-p
print("Toplam=", s)
"""
Toplam= -0.4455627705627706
"""