Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

PYTHON помогите разобраться

Учитывая строку s, выведите разницу между суммой индексов четных букв алфавита и нечетных. Специальные символы, цифры или пробел будут проигнорированы.

Индекс буквы указывает на ее положение в алфавите, с A будучи 0, B будучи 1 и так далее вплоть до Z будучи 25.

Пример: s = JARDEL

J = 9; A = 0; R = 17; D = 3; E = 4; L = 11

результат : (4 + 0) - (9 + 17 + 3 + 11) = -36

По дате
По рейтингу
Аватар пользователя
Оракул
12345678910111213141516
 def diff_even_odd_letters(s): 
    s = s.upper() 
    even_sum = 0 
    odd_sum = 0 
    for char in s: 
        if char.isalpha(): 
            index = ord(char) - ord('A') 
            if index % 2 == 0: 
                even_sum += index 
            else: 
                odd_sum += index 
    return even_sum - odd_sum 
 
s = "JARDEL" 
print(diff_even_odd_letters(s)) 
 
Аватар пользователя
Мудрец

Руками в программировании никто не считает

123456789
 from string import ascii_letters as eng 
 
r = eng[:len(eng) // 2] 
res = [i % 2 for i in range(len(r))] 
c = [] 
s = 'JARDEL'.lower() 
for i in s: 
    c += [res[r.index(i)]] 
print(c.count(1) - c.count(0))