在python中保存循环输出

时间:2018-10-25 23:03:32

标签: python for-loop arraylist

我制定了评估国家法规的法规。在我的算法中,我需要将位置编号乘以编号,因此求和该值。 例如:我的国家代码是0123456789,我想乘以2(数字本身)中的3(位置数字)。

代码:0123456789
位置编号*数字本身=值
10 * 9 = 90
9 * 8 = 72
8 * 7 = 56
7 * 6 = 42
6 * 5 = 30
5 * 4 = 20
4 * 3 = 12
3 * 2 = 6
2 * 1 = 2
1 * 0 = 0

我的问题在于和值。怎么办呢?
我的代码:

ID= str(input('ID Number: '))

if len(ID)>10 or len(ID)<8  :
    print('Error')

if len(ID)==8 :
    ID=str('00'+ID)
    print(ID)
elif len(ID)==9 :
    ID=str('0'+ID)
    print(ID)


for i in range(0,(len(ID))):
    x=ID[i]
    y=10-i
    ar=[x,y]
    gg=int(ar[0])*ar[1] 
    print(x,y,gg)

1 个答案:

答案 0 :(得分:1)

出于您的目的,这一衬板应该可以工作:

answer = sum([int(ID[i])*(i+1) for i in range(len(ID))])

这等效于:

answer = 0
for index in range(len(ID)):
    answer += int(ID[index])*(index+1) # since index starts from 0