Şimdi Ara

for döngüsü

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
12
Cevap
0
Favori
378
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • herkese merhaba for göngülerini yeni görmeye başladım pekiştirlmesi için verilen soruları tabi 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 listeiçindeki sayıları nasıl toplayacağımı baya düşündüm ama bir sonuca ulaşmadım hergan gibi bir metotda yok aslında bir yol var listenin içindeki sayıları tek tek indexleyip toplaya bilrim ama bu yolla olurmu tamda emin değilim
    soru 3 nasıl yağacağım konusunda çok fazla emin değilim soru 1 benzer bişey yapacam sanırım
    soru 4 konusunda len metodu kullanılacak muhtemelen ama nasıl olucak 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 olucaktır for i in sayılar : print(i == 5000) başka türlü olurmu bilmiyorum
    bu soruları nasıl yapabilcegime dair ip ucu rica edicem

    not : Python şuana dek öğrendiklerim Python Objeleri ve Veri Yapıları Python Operatörleri Pythonda Koşul İfadeleri ve son olarak döngüler konusu yeni yeni görmeye başladım bu durumu dikkate alarak bilgi vermenizi rica edicem




    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



    < Bu mesaj bu kişi tarafından değiştirildi layk5t -- 7 Ağustos 2020; 17:30:44 >







  • python unutacak kadar zaman girse de araya bildiklerimi yazayım:

    Uyarını sonradan gördüm ve açıklama ekliyorum.

    Python list comprehension da döngü ile liste oluşturmana yarar.
    örneğin 1den 10a kadar sayıları yazdıralım
    1.çözüm :
    for i in range(10):
    print(i)
    2.çözüm:
    print([i for i in range(10)])

    iki çözümün farkı => 1.de direk sayıyı yazdırıyoruz , 2.de ise elimizde 1den 10a kadar sayıların olduğu bir liste olmuş oluyor.



    1) çözüm doğru.Aynı şekilde liste oluşturucular ile de yapabilirsin.
    print([i for i in sayilar if i % 3 == 0])

    2)sum() metodunu kullanabilirsin
    print(sum(sayilar))

    3)Yine liste oluşturucular ile yazdırmak için: (** karesini alır)
    print([i**2 for i in sayilar if i % 2 == 1])

    Diğer çözüm:
    for i in sayilar:
    if(i % 2 == 1):
    print(i**2)

    4) print([i for i in sehirler if len(i) <= 5])

    5) print(sum([int(i["price"]) for i in urunler]))

    Diğer çözüm:

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

    6)
    print([i["name"] for i in urunler if int(i["price"]) <= 5000])



    < Bu mesaj bu kişi tarafından değiştirildi chnkyn -- 9 Ağustos 2020; 7:1:48 >




  • chnkyn kullanıcısına yanıt
    cevabın için teşekürler anlaşılan algoritmanın mantığını tam anlamıyla oturtamadım soruların cevabını sonradan öğrendim cevapları gördğkten sonra nasıl bunu yapamadım dedirtdi range metodunu 3 aşşa 5 yukarı biliyorumda sum metodunu yeni görüyorum soruların cevapları burda 5 ve 6 sorulardaki algoritmayı ne yazkki hala anlayamadım ve kimsede if bloğlarınıda burlarda kullanabilirsin diye birşey demeyince baya bir sıkıntı çekdik

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


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

    for i in sayilar:
    toplam += i

    print("Sayıların toplamı : ",toplam)
    """
    # 3- Sayilar listesindeki tek sayıların karesini alınız.
    """
    for i in sayilar:
    if i % 2 != 0:
    print(i," sayısının karesi : ", i**2)
    """
    """
    sehirler = ['kocaeli', 'istanbul', 'ankara', 'izmir', 'rize']
    sonuc = list()

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

    print(sonuc)
    """
    # 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
    """
    toplam = 0

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

    print(toplam," TL")
    """
    # 6- ürünlerin fiyarını en fazla 5000 olanı görüntüleyiniz
    """
    for i in urunler:
    a = int(i["price"])

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



    < Bu mesaj bu kişi tarafından değiştirildi layk5t -- 10 Ağustos 2020; 0:17:26 >




  • 5. ve 6. soru için elindde ürünler adında bir DİZİ var ve bu dizinin her elemanı DİCT(dictionary,sözlük) tipinde.dictionaryler key,value tipinde çalışır.Her key için karşılık gelen bir value var.adı üstünde sözlük.ing türkçe sözlük olarak örnek vereyim
    sozluk={"elma":"apple"}
    yazım şekli { key : value , } "," virgül ile bir sonraki eleman eklenir.sozluk["elma"] dediğimde bana ingilizcedeki karşılığı yani apple verecektir.

    cevaplara bakalım:

    5.soru için =>
    toplam=0
    for i in urunler:
    toplam+=int(i["price"])

    bu şekilde çözebilirsin.
    toplam = 0 değişkeni atadık.
    for i in urunler: ile urunler DİZİMİZİN üstünde döngü kuruyoruz.
    toplam += int(i["price"]) ile de dizinin içinde i. eleman(ki kendisi bir dictionary oluyor) için i["price"] key'ine karşılık gelen value.

    Şimdi döngü ilk turunda farzedelim.
    i elemanımız => {"name": "samsung s6" , "price": "3000"}, olacaktır. i["price"] => 3000 verdi ve biz bunu integera çevirip toplama ekledik.

    2.turda:
    i elemanımız => {"name": "samsung s7" , "price": "4000"},, olacaktır. i["price"] => 4000 verdi ve biz bunu integera çevirip toplama ekledik.

    Benzer şekilde kaç eleman varsa o kadar dönecektir.


    6.soru :
    5.soruyu anladıysan her eleman üzerinde gezdiğinde elinde olan nesnenin bir dictionary nesnesi olduğunu anlarsın.burada her turda price değerini integera çevirip <=5000 kontrolünü sağlıyorsa yazdırıyoruz.




  • cevabın için teşekürler ve tane tane anlatığınız için ayrı bir teşekürler ufak bir noktaya takıldım sadece i degişkeni tek tek ürünleri gezip ordan sonra edindiği bilgileri a degişkenin içine atıyor degilmi
  • Örnekte a değişkenine ihtiyaç olmasa da kullanabilirsin.

    a=int(i["price"])

    if a<10:

    mesela bu örnekte önce a'ya atıyoruz daha sonra a'yı kontrol ediyoruz ama tek satırda da yazılabilir.

    if int(i["price"]) < 10:

    bu şekilde.
  • şimdiden kusra bakmayın geç cevap verdim a değşkeni olmadanda bu işlem yapılabilir olarak anladım sanırım doğru anladım
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • evet.bir üstte yazdığım cevapta zaten buna örnek verdim
  • chnkyn kullanıcısına yanıt
    tekrardan merhaba gene 6 soruda takıldığım bir nokta var
    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:
    if int(i["price"]) <= 5000:
    print(i)

    şimdi burda benim anladığım i değiişkeni bütün listeyi(bu listeyi bile tam anlamış değilim liste içinde sets listemi yoksa sözlük tipi listemi var tam olarak bilmiyorum) sadece fiyat bölümünü dolaşıp 5000 az veya eşit bilgisini yazdır ama tabi böyle olmadı hem telefonların fiyatını hemde isminlerini yazdırdı mantiken sadece fiyatı yazdırması gerekmiyormu bu benim ister istemez kafamı karıştırdı benim bilmediğm bişey var burda ama ne



    < Bu mesaj bu kişi tarafından değiştirildi layk5t -- 21 Ağustos 2020; 23:4:32 >




  • print(type(urunler)) => <class 'list'> döner.Yani urunler bir listedir.

    Ama for içinde i'nin türüne bakarsan:
    print(type(i)) => <class 'dict'> döner.

    Yani urunler listesinin her elemanı bir dictionary'dir.For döngüsü ile urunlerin elemanları üzerinden dönüyorsun.

    for i in urunler:
    print(i)

    Dersek çıktı şöyle olur:
    {'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'}

    Ama biz for döngüsü içinde bir if kontrolü yapıyoruz.
    if int(i["price"]) <= 5000

    Bununla dictionary olan i içinde price hücresini bul,oradaki değeri integer'a çevir ve 5.000 den küçük mü değil mi kontrolü yapıyoruz.

    Eğer koşul sağlanıyorsa i'nin tamamını yazdır demişiz => print(i) satırı ile.

    İstediğin sadece o koşulu sağlayan ürünün adı ise; print(i["name"]) veya ürünün fiyatını görmek istiyorsan print(i["price"]) dersin.Yani biz i'nin tamamını yazdırdık.İf içinde yazdırmak istediğin bilgi sana kalmış.




  • chnkyn kullanıcısına yanıt
    gerçekden çok teşekür ederim doğru orda if koşulu koyduk bu koşul salanıyorsa i nin yanı dick listenin tamanını yazdır dedik bunu fark edemedim sayenizde kafamdakı soru işaretleri tek tek azaldı burayı tam çözemediğim için while döngülerine geçemedim sayenizde gönül rahatlıyla geçebilicem birde bu tür uygulamaları bulabilecigim bir türkçe site varmı iyi hoş öğrendim ama unutma ihtimalim var unutmamak için böyle bir kaç tane daha algoritma yazmam gerekiyor
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.