Python Algoritma

Merhaba;
Kullanıcıdan aldığınız bir stringi yeniden sıraya dizmeme yardımcı olursanız çok sevinirim bu işlem şu şekilde gerçekleşmeli;
1- Kullanıcıdan bir söz dizisi alınacak
2- her harfin değeri alfabede ki yerine eşit olacak ancak büyük harfler ve küçük harf birbirine eşit olmalı(örn: A,a=1, B,b=2, C,c=3 gibi)
3- her kelime için harf değerli toplanıp kelimeler baştan puan sırasına göre dizilecek. Bu işlem yapılırken hiç bir boşluk kaybedilmeyecek.
Örneğin;
İnput= Ali buraya bak
A+l+i= 1+ 15+ 11 = 27
B+u+r+a+y+a = 2+ 25 + 21+ 1 + 28+ 1 = 78
B+a+k = 2+1+14= 17
Puan sıralamasına göre baştan küçükten büyüğe sıralanır.
Output= Buraya Ali bak

İyi çalışmalar hepinize

letter_values = {}
for i, j in enumerate("abcçdefgğhıijklmnoöprsştuüvyz", 1):
    letter_values[j] = i

word_values = {}

sentence = input("Sentence: ")
words = sentence.split()

sum = 0
for word in words:
    for letter in word:
        sum += letter_values.get(letter.lower())
    
    word_values[sum] = word
    sum = 0
    
values = sorted(word_values.keys(), reverse=True)

output = ""
for i in values:
    w = word_values.get(i)
    output += w + " "

print(output)
print((lambda x: sorted(filter(None, x.lower().split()), key = lambda i: sum(map(dict((j, i) for i, j in enumerate("abcçdefgğhıijklmnoöprsştuüvyz")).__getitem__, i)), reverse = True))(input()))
1 Beğeni

çok teşekkür ederim çözümüz için, iyi çalışmalar