Хорошо, давайте подумаем на секунду, что вы на самом деле делаете, чтобы вы поняли, почему он не работает:
Прежде всего, первая часть должна быть
full_name = full_name.upper()
Итакпеременная изменяется и сохраняется
Затем, пока вы внутри цикла for, вы спрашиваете
if 'A' or 'J' or 'S' in full_name
Поскольку 'A'
будет в full_name
, sum
будет увеличено назначение, которое вы выбрали.Затем, не переходя к следующему шагу цикла, вы спрашиваете
if 'B' or 'K' or 'T' in full_name:
Поскольку 'B'
будет в full_name
, sum
будет увеличено на выбранное вами значение.
Вы на самом деле вообще не используете переменную i
, вы снова спрашиваете, есть ли 'foo'
в full_name
, и всегда будет так (в приведенном вами примере), затем он переходит ко второму шагу и делает это снова и т. Д.
То, что вы хотите сделать, это использовать переменную i
, чтобы вы могли оценивать шаг за шагом, и когда она действительно удовлетворяет вашему условиюперейдите к следующему шагу итерации.
То, что вы пытаетесь сделать, должно выглядеть примерно так:
full_name = full_name.upper()
sum = 0
for i in full_name:
if i == 'A' or i == 'J' or i == 'S':
sum += 1
elif i == 'B' or i == 'K' or i == 'T':
sum += 2
elif i == 'C' or i == 'L' or i == 'U':
sum +=3
elif i == 'D' or i == 'M' or i == 'V':
sum +=4
elif i == 'E' or i == 'N' or i == 'W':
sum+=5
elif i == 'F' or i == 'O' or i == 'X':
sum+=6
elif i == 'G' or i == 'P' or i == 'Y':
sum+=7
elif i == 'H' or i == 'Q' or i == 'Z':
sum+=8
else i == 'I' or i == 'R':
sum+=9
print(sum)
Надеюсь, это поможет.