Посчитать кол-во цифр в числе и сложить их
Думал, как применить while, но ничего так и не придумал. Остановился на этом. Есть вариант перевести строку в список, после расставить между каждым первым элементом пробелы, задать split(' '), а после просуммировать. Проблема в том, что не знаю, как это реализовать.
number = input('Введите число: ')
num = len(number)
print (f'\nКол-во цифр = {num}')
if num == 2:
answer = int(number[0]) + int(number[1])
print (f'Сумма чисел = {answer}')
elif num == 3:
answer = int(number[0]) + int(number[1]) + int(number[2])
print (f'Сумма чисел = {answer}')
elif num == 4:
answer = int(number[0]) + int(number[1]) + int(number[2]) + int(number[3])
print (f'Сумма чисел = {answer}')
elif num == 5:
answer = int(number[0]) + int(number[1]) + int(number[2]) + int(number[3]) + int(number[4])
print (f'Сумма чисел = {answer}')
elif num == 6:
answer = int(number[0]) + int(number[1]) + int(number[2]) + int(number[3]) + int(number[4]) +
int(number[5])
print (f'Сумма чисел = {answer}')
elif num == 7:
answer = int(number[0]) + int(number[1]) + int(number[2]) + int(number[3]) + int(number[4]) +
int(number[5]) + int(number[6])
print (f'Сумма чисел = {answer}')
elif num == 8:
answer = int(number[0]) + int(number[1]) + int(number[2]) + int(number[3]) + int(number[4]) +
int(number[5]) + int(number[6]) + int(number[7])
print (f'Сумма чисел = {answer}')
elif num == 9:
answer = int(number[0]) + int(number[1]) + int(number[2]) + int(number[3]) + int(number[4]) +
int(number[5]) + int(number[6]) + int(number[7]) + int(number[8])
print (f'Сумма чисел = {answer}')
elif num == 10:
answer = int(number[0]) + int(number[1]) + int(number[2]) + int(number[3]) + int(number[4]) +
int(number[5]) + int(number[6]) + int(number[7]) + int(number[8]) + int(number[9])
print (f'Сумма чисел = {answer}')
elif num == 11:
answer = int(number[0]) + int(number[1]) + int(number[2]) + int(number[3]) + int(number[4]) +
int(number[5]) + int(number[6]) + int(number[7]) + int(number[8]) + int(number[10])
print (f'Сумма чисел = {answer}')
else:
print ('Мне тяжело это посчитать =)')
Ответы (2 шт):
Автор решения: Harry
→ Ссылка
Ну, тут даже я, не знающий Python, справлюсь :) Или я неверно понял задание?
number = int(input('Введите число: '))
num = 0
summ = 0
while(number):
num = num + 1
summ = summ + number % 10
number = number // 10
print('Цифр ', num)
print('Сумма ', summ)
Для отрицательных чисел можно предусмотреть изменение знака, например..
Автор решения: ILDAR_K_888
→ Ссылка
Продолжил вашу мысль.Тут можно и без split обойтись.
numbers = [int(i) for i in input('число: ')] # создаем список из того что ввели,каждый элемент в нем будет (int)
print('сумма цифер в числе: ', sum(numbers)) # печатаем сумму элементов в списке,то есть сумму всех цифер в числе