Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 30, 2011 10:40:09

EvS
От:
Зарегистрирован: 2011-10-30
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Сложение цифр в числе

Суть проблемы такова: в результате выполнения программы получаем строковую переменную в виде некого числа(длина числа может быть разной).Как реализовать сложение по 2 цифры из этого числа, пока не останется одна цифра. Для примера:
12345678 #наше число
371115 #первый результат сложения по две цифры с лева на право
1026
18
9 # полученный результат, которого нужно добиться
Как?



Офлайн

#2 Окт. 30, 2011 11:16:49

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

Сложение цифр в числе

Нужно написать программу.



Офлайн

#3 Окт. 30, 2011 11:25:52

EvS
От:
Зарегистрирован: 2011-10-30
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Сложение цифр в числе

Isem
Нужно написать программу.
Какую программу? Программа которая делает это число я написал, теперь мне надо сложить число именно так как я описал. На этом ступор



Офлайн

#4 Окт. 30, 2011 11:38:23

Actor
От:
Зарегистрирован: 2010-10-10
Сообщения: 39
Репутация: +  0  -
Профиль  

Сложение цифр в числе

n = str(12345678)
while len(n) > 1:
res = ""
for i in xrange(0, len(n), 2):
res = res + str(int(n[i]) + int(n[i+1]))
n = res
print res
1) “Программа которая делает это число” - немного забавно звучит :)
2) ошиблись разделом форума, для таких целей существует “Центр помощи”
3) а что будет, если ввести число, состоящее из нечетного числа цифр? пример в студию



Офлайн

#5 Окт. 30, 2011 11:44:48

EvS
От:
Зарегистрирован: 2011-10-30
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Сложение цифр в числе

1. Ну как звучит все равно =)
2. По поводу раздела извиняйте, не знал.
3. А какая разница четное число или нет?
23245 #вот не четное
565
115
25
7



Офлайн

#6 Окт. 30, 2011 11:54:35

Actor
От:
Зарегистрирован: 2010-10-10
Сообщения: 39
Репутация: +  0  -
Профиль  

Сложение цифр в числе

x = str(23245)

def f(n):
n, last = str(n), ""
print n
if len(n) % 2 == 1:
last = n[-1]
n = n[:-1]
while len(n) > 1:
res = ""
for i in xrange(0, len(n), 2):
res = res + str(int(n[i]) + int(n[i+1]))
n = res
print res + last
if last:
print int(n) + int(last)

f(12345)
f(1234)
ну это оооочень го*нокод



Офлайн

#7 Окт. 30, 2011 12:06:42

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Сложение цифр в числе

num = '12345678'
while 1 < len(num):
pairs = ''.join(
str(sum(map(int, pair)))
for pair in zip(num[::2], num[1::2]))
num = pairs + (len(num)%2 and num[-1] or '')
print num
num = '12345678'
while 1 < len(num):
num = str(sum(map(int, num[:2]))) + num[2:]
print num
num = '12345678'
while 1 < len(num):
num = str(sum(map(int, num)))
print num
..bw



Офлайн

#8 Окт. 30, 2011 12:30:22

EvS
От:
Зарегистрирован: 2011-10-30
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Сложение цифр в числе

Отлично. Спасибо, проблема решена, буду писать дальше



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version