DonanımHaber Mini sürüm 2 Ocak 2026 tarihi itibariyle kullanımdan kalkacaktır. Bunun yerine daha hızlı bir deneyim için DH Android veya DH iOS uygulamalarını kullanabilirsiniz.
Arama butonu
Bu konudaki kullanıcılar: 1 misafir
8
Cevap
1215
Tıklama
0
Öne Çıkarma
python sort komutu olmadan alfabe
S
6 yıl (43 mesaj)
Çavuş
Konu Sahibi

alf = [('a'),('b'),('c'),('ç'),('d'),('e'),('f'),('g'),('ğ'),('h'),('ı'),('i'),('j'),('k'),('l'),('m'),('n'),('o'),('ö'),('p'),('r'),('s'),('ş'),('t'),('u'),('ü'),('v'),('y'),('z')]
kelime = input("=>")
liste = []
for (i) in alf:
----if i in kelime:
--------liste.append(i)
print(liste)

evet komutum bu ama hala istediğim gibi değil. google üzerine alfabe algoritması yazdığımda hiçbirşey çıkmadı, o yüzden bende böyle birşey yapmak istedim ve paylaşmak.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



S
6 yıl (2420 mesaj)
Yüzbaşı

sort kullanmadan bir kelimedeki harfleri alfabetik sıralayan birşey mi yapmak istedin? İlginç, ama olmuş.
Alfabeyi neden o şekilde tuttun? Direkt string kullanabilirsin, her sequence type iteratör protokolünü destekler:
alf="abcçdefgh....z"
illa liste olsun dersen, her elemanı tuple olmak zorunda da değil:
alf=["a", "b", "c", .... "z"]


Bu mesaja 1 cevap geldi.
S
6 yıl (2420 mesaj)
Yüzbaşı

Bir de, list comprehension çalışmaya başladın mı? Onunla çözümü vereyim, bakarsın sonra

alf = "abcçdefgğhıijklmnoöprsştuüvyz"
kelime = "kırağı"
liste = [i for i in alf if i in kelime]
print(liste)


Bu mesaja 2 cevap geldi.
S
6 yıl (43 mesaj)
Çavuş
Konu Sahibi

daha her harfi tek tek değilde tekrar tekrar yaptıran program yapıcam bunu, mesela benim program "programlama" kelimesini [a,g,l,m,o,p,r] diye çıkarıyor ama ben bunları [a,a,g,l,m,m,o,p,r,r] diye çıkarsın istiyorum, bunu yapmamın sebebi ise babam ilkokul öğretmeni ve böyle birşeye ihtiyaç duydu ama tabiki yardımı buldu ama ben yinede kendimin yapıp yapamıcağıma bakmak istedim, (bunuda şans eseri yazdım, asıl yapmak istediğim bu değildi ama işe yaradı :D), neyse şu an .count metodu ile birşeyler denemeye çalışıyorum, olmadı yardım isticem




Bu mesajda bahsedilenler: @seyfi84
S
6 yıl (43 mesaj)
Çavuş
Konu Sahibi

yok daha list comprehension 'a başlamadım




Bu mesajda bahsedilenler: @seyfi84
S
6 yıl (43 mesaj)
Çavuş
Konu Sahibi


alf = "abcçdefgğhıijklmnoöprsştuüvyz"
kelime = input("Harflerini alfabetik olarak sıralamak istediğiniz kelimeyi girin =>")
liste = []
düzen = ""
for (i) in alf:
----if i in kelime:
--------say = kelime.count(i)
--------if say > 0:
------------for u in range(say):
----------------liste.append(i)
----------------düzen = i + düzen[:]
düzen = düzen[::-1]
print(düzen)



yaptım :D





< Bu mesaj bu kişi tarafından değiştirildi skosebas -- 8 Temmuz 2019; 14:8:26 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @seyfi84
S
6 yıl (2420 mesaj)
Yüzbaşı

Ben biraz kısalttım çözümünü, bak bakalım nerden nasıl tasarruf ettiğimi görecek misin:

alf = "abcçdefgğhıijklmnoöprsştuüvyz"
kelime = input("Harflerini alfabetik olarak sıralamak istediğiniz kelimeyi girin =>")
liste = []
for i in alf:
----for j in range(kelime.count(i)):
--------liste.append(i)

print(liste)




Bu mesajda bahsedilenler: @skosebas
T
6 yıl (20069 mesaj)
Yarbay

İlk çözüm hata veriyor. Örneğin input sözcüğü olarak 'okey' girdiğimde NameError: name 'okey' is not defined diyor Python 2.7 kullandığım için olabilir mi? List comprehension 'lı çözüm çalıştı. İlk çözümü Perl'e çevirince çalıştı:

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


Bu mesaja 1 cevap geldi.
S
6 yıl (2420 mesaj)
Yüzbaşı

Python 2'deki input() farklı çalışır, orada raw_input() çağıracaksın.
Fakat 2020'de Python 2 resmi olarak kullanımdan kalkacak (deprecate oluyor), artık Python 3'e odaklanın.




Bu mesajda bahsedilenler: @vonderplanitz
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.