【问题标题】:Save for loop output in python在python中保存循环输出
【发布时间】:2019-03-30 15:44:19
【问题描述】:

我开发了一个评估国家代码的代码。在我的算法中,我需要将位置数乘以数字,所以对这个值求和。 例如:我的国家代码是 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

我的问题在于 sum values 。怎么办?
我的代码:

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)

【问题讨论】:

  • 我不清楚你在问什么:目标或算法细节。请在当地找到可以帮助您编写所需英语的人。或者,以舒适的语言将其发布到 Stack Overflow 网站。
  • @Prune 为了更明白,我举了一个例子

标签: python for-loop arraylist


【解决方案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

【讨论】:

    猜你喜欢
    • 2020-05-30
    • 2019-10-24
    • 2018-05-24
    • 1970-01-01
    • 2017-08-06
    • 1970-01-01
    • 2017-03-24
    • 2012-03-30
    • 1970-01-01
    相关资源
    最近更新 更多