2012-10-26 2 views
1

Это упражнение с контрольной цифрой.Добавление в python2

A=str(56784321) 
for x in [0,2,4,6]: 
    B = int(A[x])*2 
     if len(str(B))==2: 
      B = int(str(B)[0])+int(str(B)[1]) 
      print (B) 

Выход:

1 
5 
8 
4 

Как я могу использовать дальнейший код для добавления 4 из них вместе?

ответ

1

С минимальными изменениями в вашем коде вы можете использовать Python generators. См. this question для хорошей справки.

def split_str(A): 
    for x in [0,2,4,6]: 
    B=int(A[x])*2 
    if len(str(B))==2: 
     B= int(str(B)[0])+int(str(B)[1]) 
    yield B 

A=str(56784321) 
for f in split_str(A): 
    print f 
print 'Sum is', sum(split_str(A)) 

Печать:

1 
5 
8 
4 
Sum is 18 
+0

Как вы можете сделать это с вне положить их в функцию? – PyJar

+3

Но функции действительно хорошие. Вы должны использовать их. – engineerC

+0

@pythonBeginner, вы можете создать пустой список перед кодом и добавить к нему значения B, вместо того чтобы их уступать. Это не так сложно, вы можете попробовать это как упражнение. –

Смежные вопросы