Python. Простые алгоритмы
- Python. Простые алгоритмы
- Просмотров: 488
15. Сумма цифр в списке чисел
Дан список:
a= [12,22,33,44,55,66,77,88,99,0]
Способ 1. Использование цикла for и str()
b = []
for x in a:
sm = 0
for digit in str(x):
sm += int(digit)
b.append(sm)
print("сумма цифр=", b)
# сумма цифр= [3, 4, 6, 8, 10, 12, 14, 16, 18, 0]
Временная сложность: O (n * k),
где n- количество элементов в списке,
k - среднее количество цифр в каждом числе
Способ 2. Использование цикла for и while
b = []
for x in a:
sm = 0
while x > 0:
digit = x%10
sm += digit
x=x//10
b.append(sm)
print("сумма цифр=", b)
# сумма цифр= [3, 4, 6, 8, 10, 12, 14, 16, 18, 0]
Временная сложность: O (n * k),
где n– количество элементов в списке,
k - среднее количество цифр в каждом числе
Способ 3. Использование цикла for и функции sum
b = []
for x in a:
sm = sum(int(digit) for digit in str(x))
b.append(sm)
print("сумма цифр=", b)
# сумма цифр= [3, 4, 6, 8, 10, 12, 14, 16, 18, 0]
Временная сложность: O (n * k),
где n- элементы в списке,
k - среднее количество цифр в каждом числе
Способ 4. Использование генератора
b = [sum(int(digit) for digit in str(x)) for x in a]
print("сумма цифр=", b)
# сумма цифр= [3, 4, 6, 8, 10, 12, 14, 16, 18, 0]
Временная сложность: O (n * k),
где n– количество элементов в списке,
k - среднее количество цифр в каждом числе