我制定了评估国家法规的法规。在我的算法中,我需要将位置编号乘以编号,因此求和该值。 例如:我的国家代码是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)
答案 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