Neden Sadece boşluk Dzisine "ı"yı Koyuyor

wer = " urfa"
kaynak = " "
hedef = “Şanlı”
cevirmenler = str.maketrans(kaynak,hedef)
print(wer.translate(cevirmenler))

Kod iki ``` satiri arasina alinmali.

Traceback (most recent call last):
  File "a.py", line 4, in <module>
    cevirmenler = str.maketrans(kaynak,hedef)
ValueError: the first two maketrans arguments must have equal length
wer = " urfa"
kaynak = "     "
hedef = "Şanlı"
cevirmenler = str.maketrans(kaynak,hedef)
print(wer.translate(cevirmenler))

Çünkü kaynak değişkeni boşluklardan oluşuyor ve " urfa" yazısının da ilk harfi boşluktan oluşuyor. kaynak ve hedef arasındaki eşleştirmeden ötürü o ilk boşluk “ı” ile değiştiriliyor. wer değişkeninde boşluğu nereye koyarsanız, oraya “ı” harfi yerleştirecektir.

kaynak ve hedef arasındaki eşleştirmede de kendini tekrar eden harfler olursa, o harfin yer aldığı en büyük indeks numarası eşleştirilir. Bu yüzden de tüm boşluklar “ı” harfi ile eşleştirilmiş oluyor.

Örneğin;
kaynak = "uauau" olsaydı, a harfinin en büyük indeks değeri 3 olduğundan “Şanlı” içerisinden “l” harfi ile eşleşecekti ve de u harfinin en büyük indeks değeri 4 olduğundan o da “ı” harfi ile eşleşecekti.
Böylece wer’in çevirisi " ırfl" olacaktı.

Eğer ki kaynak = " urfa" olursa, işte o zaman wer’in çevirisi "Şanlı" olacaktır.
İyi çalışmalar dilerim.

1 Beğeni