Ошибка при попытке вывести ASCII код нескольких символов, введенных пользователем

Попросите пользователя ввести произвольную строку. Выведите коды всех символов строки, введённой пользователем.

str_1 = input('Введите строку: ')
print(ord(str_1))

Здесь выводит только ASCII код одного символа а дальше выводит ошибку:

TypeError: ord() expected a character, but string of length 2 found

Нужно помочь - объяснить как вывести ASCII код нескольких символов, введенных пользователем! Заранее спасибо.


Ответы (1 шт):

Автор решения: Zhihar

вы пытаетесь преобразовать в код целую строку, а эта функция работает только с буквами, поэтому вызывайте ее побуквенно:

for char in input('Введите строку: '):
    print(ord(char))

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

print(*[ord(char) for char in input('Введите строку: ')], sep='\n')

вот так покороче:

print(*map(ord, input('Введите строку: ')), sep='\n')
→ Ссылка