Şimdi Ara

For döngüsü

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
13
Cevap
0
Favori
470
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • https://hastebin.com/jugobigere.bash

    Yapmak istediğim 'istanbul' kelimesinde sesli ve sessiz harfleri birbirinden ayırmak kullanıcıya sunmak.Ama çıktıda 'istanbul' kelimesinin tamamı sessiz harf olarak çıkıyor.Sesli harf kısmı boş kalıyor.Bunu bir internet sitesinden buldum aynen yazdım ama istediğim şey olmadı.



  • 4 ve 5.ci satırlarda değişkenler sıfırlanmış. if yapısında else kısmına atlıyor. 4 ve 5 satırdaki değişken isimlerini değiştir - 11,12 ve 14,15 satırlarda da kullan
  • x = {"a","e","ı","i","o","ö","u","ü"}
    y = {"b","c","ç","d","f","g","ğ","h","j","k","l","m","n","p","r","s","ş","t","v","y","z"}

    sesli_harfler ="" #Buradaki amaç sesli harfleri toplamak için boş bir liste açtık.
    sessiz_harfler = ""

    kelime = "istanbul"

    for i in kelime:
    if i in x:
    sesli_harfler += i
    else:
    sessiz_harfler += i
    print("Sesli harfler:", sesli_harfler)
    print("Sessiz harfler:", sessiz_harfler)



    degiskenlere ek olarak sette her harfi ayri bir eleman olarak eklemen gerekiyor, Diger turlu butun stringi tek bir eleman olarak kabul edece




  • https://hastebin.com/emecaqaluh.bash
    Buradaki yanlışın sesli ve sessiz harfleri belirttikten sonra bunları tekrar boş stringe eşitlemen. Ve sesli ve sessiz harflerin her birini ayrı bir eleman olarak göstermemen. Bu yüzden if koşulunu sağlamadığından direk else bakıyor ve sessiz harfleri istanbul olarak gösteriyordu. Düzelttim.



    < Bu mesaj bu kişi tarafından değiştirildi luck runs out -- 20 Haziran 2018; 18:16:56 >
  • makmakmakxd M kullanıcısına yanıt
    x ve y'yi tanımlarken kolay bir yöntem yok mu? Örneğin Perl'de o tür durumlar için qw (Quote Words) ile tırnak işareti ve virgül kullanmadan dizi tanımlanabiliyor:

    quote:

    @sesli = qw/a e ı i o ö u ü/;

    @sessiz = qw/b c ç d f g ğ h j k l m n p r s ş t v y z/;


    ve problemin devamı da:

    quote:

    (@sesli2,@sesssiz2);

    @kelime = split //, "istanbul";

    for $i (@kelime)
    {
    (grep /$i/, @sesli) ? push @sesli2, $i : push @sessiz2, $i;
    }

    print "sesli: ".join( "", @sesli2)." sessiz ".join( "", @sessiz2);



    < Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 21 Haziran 2018; 10:53:56 >
    < Bu ileti mini sürüm kullanılarak atıldı >
  • yok diye biliyorum, birazcik bakinmama ragmen ise yara bir sey bulamadim.
  • şöyle birşey mi arıyorsunuz



    sessizler= list("bcçdfgğhjklmnpqrsştvwxyz");

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Sadece harf değil de kelime listesi yapmamız gerekti diyelim örneğin şunun gibi:



    quote:

    @meyveler = qw/elma armut çilek yer#fıstığı/;



    $kelime = "yer fıstığı";



    tr/#/ / for @meyveler;

    # boşluklu kelimeleri düzelt. tr-> TransLiterate



    if (grep /$kelime/, @meyveler) {

    print "$kelime meyveler arasında geçiyor\n";

    }





    görüldüğü gibi elma armut çilek gibi kelimelere ek olarak "yer fıstığı" gibi bileşik ismi dahi liste / dizi formatında işleyebildim:



    For döngüsü




    Python'da bunun gibi bir imkan var mı?

    < Bu ileti mini sürüm kullanılarak atıldı >




  • kelimeler = "elma,armut,ayva,yer fıstığı". split(",");

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • quote:

    elmalı, çikolatalı pasta




    şeklinde virgüllü ve boşluklu kelime var diyelim, Perl'de onu da kolaylıkla yapabiliyorum:



    quote:

    @meyveler = qw/elma armut çilek yer#fıstığı elmalı,çikolatalı#pasta/;



    $kelime = "elmalı, çikolatalı pasta";



    s/#/ / for @meyveler;

    s/,/, / for @meyveler;



    if (grep /$kelime/, @meyveler) {

    print "$kelime meyveler arasında geçiyor\n";

    }

    ------------------------------------------------------------

    $  perl for-dongusu3.pl

    elmalı, çikolatalı pasta meyveler arasında geçiyor




    Python'da bunun gibi kolaylıkla yapılabiliyor mu?

    < Bu ileti mini sürüm kullanılarak atıldı >




  • quote:

    Orijinalden alıntı: Tuğkan-0153

    quote:

    elmalı, çikolatalı pasta




    şeklinde virgüllü ve boşluklu kelime var diyelim, Perl'de onu da kolaylıkla yapabiliyorum:



    quote:

    @meyveler = qw/elma armut çilek yer#fıstığı elmalı,çikolatalı#pasta/;



    $kelime = "elmalı, çikolatalı pasta";



    s/#/ / for @meyveler;

    s/,/, / for @meyveler;



    if (grep /$kelime/, @meyveler) {

    print "$kelime meyveler arasında geçiyor\n";

    }

    ------------------------------------------------------------

    $  perl for-dongusu3.pl

    elmalı, çikolatalı pasta meyveler arasında geçiyor




    Python'da bunun gibi kolaylıkla yapılabiliyor mu?
    kelimeler = "elma#armut#ayva#yer fıstığı#elmalı, çikolatalı pasta".split("#");




  • kelimeleri ayırmak için boşluk kullanabilirsin daha kolay okunuyor.

    quote:

    kelimeler = "elma armut ayva yer#fıstığı elmalı,çikolatalı#pasta".split(" ")

    kelime = "elmalı,çikolatalı#pasta"



    if kelime in kelimeler:

    print("bulundu: ", kelime)





    fakat aranacak kelimeyi listede tanımladığın gibi girmek zorundayım.



    Perl'de regex ile listedeki diziyi istenen formata dönüştürmek için

    quote:

    s/#/ / for @meyveler;

    s/,/, / for @meyveler;


    kullandım burada ilk satır # yı boşlukla, ikinci satır virgülü virgül+boşlukla değiştiriyor, her eleman için.



    Python da regex kullanarak veya kullanmayarak listedeki dizi elemanlarını dönüştürme nasıl yapılıyor, örneğin yukardaki 2 satırlık regexin yaptığı türden dönüşüm nasıl yapılır?

    < Bu ileti mini sürüm kullanılarak atıldı >




  • import re

    kelimeler =[re.sub(","," , ", i) for i in ("elmali,cikolatali pasta#elma#armut,ayva".split("#"))];

    (RE modülünü import ederek)

    virgülü "boşluk + virgül + boşluk" ile değiştirdim.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.