添加python2

时间:2012-10-26 02:27:57

标签: python loops

这是一个校验位练习。

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 个答案:

答案 0 :(得分: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