python - 在python中保存循环输出
问题描述
我开发了一个评估国家代码的代码。在我的算法中,我需要将位置数乘以数字,所以对这个值求和。例如:我的国家代码是 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)
解决方案
出于您的目的,这一个班轮应该可以工作:
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
推荐阅读
- java - 使用 Stream...peek() 生成变量的测试方法
- sql - 构建多个子查询结果的总和
- python - Python 子进程返回非零退出状态 1. 最小工作示例
- powershell - TravisCI 中的 Powershell 测试因缺少 RequiredModules 而失败
- python - 创建对象以进行测试的一些 Django 最佳实践是什么
- c++ - QSqlTableModel::setData() 也使用 Qt::EditMode 返回 false
- amazon-web-services - 让容器在弹性容器服务 (ECS) 中相互通信?
- selenium-webdriver - Selenium 2.53.1 似乎与 Firefox Quantum 64.0.2 不兼容
- javascript - 如何在严格模式下使用 RxJS fromEvent() 和 HammerJS
- python - 如何根据 Python 中类似定位的字符/模式对文件进行分组?