For döngüsü uygulaması

Ark_Us

Kilopat
Katılım
7 Nisan 2017
Mesajlar
849
Makaleler
1
Çözümler
7
Herkese merhaba for döngülerini yeni görmeye başladım pekiştirilmesi için verilen soruları tabii gene ciddi manada zorladı.
Soru biri 1 kaç saat deneme yanılma yoluyla bu sonuca vardım doğruda olduğunu düşünüyorum.
Soru 2 liste içindeki sayıları nasıl toplayacağımı bayağı düşündüm ama bir sonuca ulaşmadım herhan gibi bir metot da yok aslında bir yol var listenin içindeki sayıları tek tek indexleyip toplayabilirim ama işin içinde for döngüsü olunca tamda emin değilim.
Soru 3 nasıl yapacağım konusunda çok fazla emin değilim soru 1 benzer bir şey yapacağım sanırım.
Soru 4 konusunda len metodu kullanılacak muhtemelen ama nasıl olacak tamda emin değilim.
Soru 5'de soru 2 ile bağlantılı onu nasıl yapacağımı bilseydim muhtemelen bunuda yapardım.
Soru 6 yüksek olasılıkla şöyle olacaktır for i in sayılar: Print(i == 5000) (denendi işlem başarısız) başka türlü olur mu bilmiyorum.
Bu soruları nasıl yapabilcegime dair ipucu rica edeceğim.
Not: Python şuana dek öğrendiklerim Python objeleri ve veri yapıları Python operatörleri Python'da koşul ifadeleri ve son olarak döngüler konusu yeni yeni görmeye başladım bu durumu dikkate alarak bilgi vermenizi rica edeceğim.

Python:
sayilar = [1,3,5,7,9,12,19,21]

# 1- Sayilar listesindeki hangi sayılar 3'ün katıdır ?
# 2- Sayilar listesinde sayıların toplamı kaçtır ?
# 3- Sayilar listesindeki tek sayıların karesini alınız.
"""
for i in sayilar:
print(i %3 == 0)
"""
for i in sayilar:
print(i)

# sehirler = ['kocaeli', 'istanbul', 'ankara', 'izmir', 'rize']

# 4- Şehirlerden hangileri en fazla 5 karakterlidir ?

# urunler = [
# {"name": "samsung s6" , "price": "3000"}
# {"name": "samsung s7" , "price": "4000"}
# {"name": "samsung s8" , "price": "5000"}
# {"name": "samsung s9" , "price": "6000"}
# {"name": "samsung s10" , "price": "7000"}
# ]
# 5- ürünlerin fiyatları toplamı nedir
# 6- ürünlerin fiyarını en fazla 5000 olanı görüntüleyiniz
 
1. soru için if bloğu kullanman lazım

if (i %3 == 0)
print şeklinde

ikincisi içinse python'da array fonksiyonlarına bakabilirsin.

C++ genelde şöyle bir kullanım olurdu

while (sayilar.next == true)

int i = 0
int toplam = 0
toplam = sayiler+toplam
i++

gibi bir şey yazılabilir. bu şekilde uzunluğu 3 olan ya da 100 olan array bile verilse fonksiyon çalışır. sayilar.next kısmından emin değilim python için ama böyle bir şey kesinlikle vardır.

Üçüncü soru için ise yine mod alacaksın. Bir sayının tek sayı olup olmadığını mod 2 = 1 ise anlarız. Yani

if ( i%2 == 1)
print (i*i)

şeklinde yazabilirsin.

4. soru içinse array ve string fonksiyonlarını kullanman gerekir.
 
Hocam çok fazla soru yazmışsınız ama elimden geldiğince yardımcı olmaya çalışayım.

Soru 1:
Python:
sayilar = [1,3,5,7,9,12,19,21]

for i in sayilar:
    if i % 3 == 0:
        print(i," sayısı 3'ün katıdır.")


Soru 2:
Python:
sayilar = [1,3,5,7,9,12,19,21]
toplam = 0

for i in sayilar:
    toplam += i

print("Sayıların toplamı : ",toplam)


Soru 3:
Python:
sayilar = [1,3,5,7,9,12,19,21]

for i in sayilar:
    if i % 2 != 0:
        print(i," sayısının karesi : ", i**2)


Soru 4:
Python:
sehirler = ['kocaeli', 'istanbul', 'ankara', 'izmir', 'rize']

sonuc = list()

for i in sehirler:
    if len(i) <= 5:
        sonuc.append(i)

print(sonuc)


Soru 5:
Python:
urunler = [{"name": "samsung s6" , "price": "3000"}, {"name": "samsung s7" , "price": "4000"}, {"name": "samsung s8" , "price": "5000"}, {"name": "samsung s9" , "price": "6000"}, {"name": "samsung s10" , "price": "7000"}]

toplam = 0

for i in urunler:
    a = int(i["price"])
    toplam += a

print(toplam," TL")


Soru 6:
Python:
urunler = [{"name": "samsung s6" , "price": "3000"}, {"name": "samsung s7" , "price": "4000"}, {"name": "samsung s8" , "price": "5000"}, {"name": "samsung s9" , "price": "6000"}, {"name": "samsung s10" , "price": "7000"}]

for i in urunler:
    a = int(i["price"])
  
    if a <= 5000:
        print(i["name"], a, "TL")

Soruların çözümlerini kendiniz de yürütüp anlamanız dileğiyle :).
 
Son düzenleme:
Hocam çok fazla soru yazmışsınız ama elimden geldiğince yardımcı olmaya çalışayım.

Soru 1:
Python:
sayilar = [1,3,5,7,9,12,19,21]

for i in sayilar:
if i % 3 == 0:
print(i," sayısı 3'ün katıdır.")

Soru 2:
Python:
sayilar = [1,3,5,7,9,12,19,21]
toplam = 0.

for i in sayilar:
toplam += i.

print("Sayıların toplamı : ",toplam)

Soru 3:
Python:
sayilar = [1,3,5,7,9,12,19,21]

for i in sayilar:
if i % 2 != 0:
print(i," sayısının karesi : ", i**2)

Soru 4:
Python:
sehirler = ['kocaeli', 'istanbul', 'ankara', 'izmir', 'rize']

sonuc = list()

for i in sehirler:
if len(i) <= 5:
sonuc.append(i)

print(sonuc)

Soru 5:
Python:
urunler = [{"name": "samsung s6" , "price": "3000"}, {"name": "samsung s7" , "price": "4000"}, {"name": "samsung s8" , "price": "5000"}, {"name": "samsung s9" , "price": "6000"}, {"name": "samsung s10" , "price": "7000"}]

toplam = 0.

for i in urunler:
a = int(i["price"])
toplam += a.

print(toplam," TL")

Soru 6:
Python:
urunler = [{"name": "samsung s6" , "price": "3000"}, {"name": "samsung s7" , "price": "4000"}, {"name": "samsung s8" , "price": "5000"}, {"name": "samsung s9" , "price": "6000"}, {"name": "samsung s10" , "price": "7000"}]

for i in urunler:
a = int(i["price"])

if a <= 5000:
print(i["name"], a, "TL")

Soruların çözümlerini kendiniz de yürütüp anlamanız dileğiyle :).

Teşekkürler bir birkaç tanesini doğru tahmin etmişim ama diğerler aklımın ucundan geçmedi elimden geldiğince uğraşıp anlamaya çalışacağım ama aklıma takılan birkaç yer var 1 2 3 4 6 sorularda döngünün altına if bloğu niye koyuldu ki.
Şidmi anladım neden koyulduğunu printi yazdırabilmesi için if gerekiyor şu hatamı düzeltsem çok iyi olacak uyglamadan önceki ders videosunda for döngüsünü gördüm ama bendeki hatam sadece for döngüsü kullanarak soruları yapmaya kalkışmamdı bu hatamı düzeltmem gerek aslında.
 
Son düzenleme:
Teşekkürler bir birkaç tanesini doğru tahmin etmişim ama diğerler aklımın ucundan geçmedi elimden geldiğince uğraşıp anlamaya çalışacağım ama aklıma takılan birkaç yer var 1 2 3 4 6 sorularda döngünün altına if bloğu niye koyuldu ki.
Şidmi anladım neden koyulduğunu printi yazdırabilmesi için if gerekiyor şu hatamı düzeltsem çok iyi olacak uyglamadan önceki ders videosunda for döngüsünü gördüm ama bendeki hatam sadece for döngüsü kullanarak soruları yapmaya kalkışmamdı bu hatamı düzeltmem gerek aslında.
Güzel bir kaynakla beraber gördüğünüz konunun pratiğini yapıp üzerine kendi düşündüklerinize de uyarlamaya çalışırsanız daha çeşitli yerlerde kullanmayı akıl etmeniz daha kolay olur. Basit şeyler de olsa aklınıza gelenleri yazmaya çalışmanızı öneririm, iyi kodlamalar :).
 

Geri
Yukarı