1

これはチェック ディジットの演習です。

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 つを一緒に追加するにはどうすればよいですか?

4

1 に答える 1

1

コードに最小限の変更を加えるだけで、Pythonジェネレーターを使用できます。良い参考資料として、この質問を参照してください。

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
于 2012-10-26T02:40:31.880 に答える