Возможно ли, чтобы функция ord() вычислила два слова по отдельности?
def hash(string):
word = 0
for i in list(string):
word += ord(i)
print(word)
hash(input('Введите строку: '))
Вот код. Задача состоит в том, чтобы я вводил несколько строк и ord вычислил код каждого символа строки и суммировал их, но в результате выдал мне сумму каждой строки по отдельности
Ответы (1 шт):
Автор решения: Namerek
→ Ссылка
Надеюсь я правильно понял что Вы имели ввиду:
def hash(string):
word = 0
for i in list(string):
word += ord(i)
if word:
print(word)
return word
while hash(input('Введите строку: ')):
pass
# Введите строку: dsadas
# 624
# Введите строку: rwetwe
# 670
# Введите строку:
Вот так слегка покороче будет (python3.8+)
def ord_hash(string):
if word := sum(map(ord, string)):
print(word)
return word
while ord_hash(input('Введите строку: ')):
pass
А вот так еще короче (python3.8+)
while string := input('Введите строку: '):
print(sum(map(ord, string)))