Сложение значений ASCII вместе. Джейтон/Питон

Мне нужно получить слово "КОМПЬЮТЕР". Преобразуйте каждую букву в соответствующее значение ASCII (используя цикл For). Затем сложите отдельные значения ASCII вместе, чтобы получить сумму.

Я ввожу «КОМПЬЮТЕР» в качестве параметра для «текста» при запуске программы.

Так что думайте КОМПЬЮТЕР = текст

Что у меня есть до сих пор:

def addASCIIValues(text):
  for char in text:
    AsciiArray = ord(char)
    print AsciiArray

  1. Текст вводится как "КОМПЬЮТЕР"
  2. для каждого символа в "КОМПЬЮТЕР"
  3. Преобразование каждого символа в его значение ASCII
  4. Сложите значения вместе
  5. Получите общую СУММУ
  6. Распечатать сумму

Пожалуйста, используйте простой код без функций импорта.

Я использую Jython, но ответы python тоже будут в порядке!


person James Angele    schedule 05.04.2015    source источник


Ответы (2)


Часть вашего замешательства может быть вызвана тем, что вы назвали int, возвращаемый ord() AsciiArray. Это не "массив".

Это просто с использованием понимания списка:

word = 'COMPUTER'
print sum([ord(c) for c in word])

Однако вы просили о конкретных шагах:

word = 'COMPUTER'
SUM = 0
for char in word:
    value = ord(char)
    SUM += value

print SUM

Я должен отметить, что обычно имена констант используются в ЗАГЛАВНЫХ РЕГИСТРАХ, поэтому имя SUM обычно не считается хорошей практикой.

person cdarke    schedule 05.04.2015

Поскольку функция ord возвращает целое число, вы можете просто суммировать, так что что-то вроде этого

sum = 0
for letter in word:
    sum += ord(letter)

print(sum)
person Roy Portas    schedule 05.04.2015