Arama butonu
Bu konudaki kullanıcılar: 1 misafir
12
Cevap
472
Tıklama
0
Öne Çıkarma
For döngüsü
A
6 yıl
Onbaşı
Konu Sahibi

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ı.



R
6 yıl
Yüzbaşı

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



M
6 yıl
Çavuş

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


Bu mesaja 1 cevap geldi.
L
6 yıl
Binbaşı

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 >

T
6 yıl
Yarbay

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ı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @makmakmakxd
M
6 yıl
Çavuş

yok diye biliyorum, birazcik bakinmama ragmen ise yara bir sey bulamadim.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @revivo72
K
6 yıl
Yüzbaşı

şöyle birşey mi arıyorsunuz



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



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @revivo72 , @makmakmakxd
T
6 yıl
Yarbay

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:



< Resime gitmek için tıklayın >



Python'da bunun gibi bir imkan var mı?



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


Bu mesajda bahsedilenler: @Viagara Şelalesi
K
6 yıl
Yüzbaşı

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



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @revivo72
T
6 yıl
Yarbay

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ı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Viagara Şelalesi
K
6 yıl
Yüzbaşı

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("#");


Bu mesaja 1 cevap geldi.
T
6 yıl
Yarbay

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ı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Viagara Şelalesi
K
6 yıl
Yüzbaşı

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.




Bu mesajda bahsedilenler: @revivo72
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.