[英]How to multiple a digit in a string by its position in the string in python
例如,如果我有 3456789,我希望总和 = (3x1) + (4x2) + (5x3) + (6x4) + (7x5) 等。
您可以使用 enumerate 获取索引以及每个字符和总和 function 以添加产品:
sum(int(digit)*pos for pos,digit in enumerate("3456789",1)) # 196
这里有一些提示,但没有直接回答您的问题,因为它看起来像是一项家庭作业:
for i, c in enumerate(your_string):
print("pos %d is char %s" % (i, c))
x_str = '1'
x_int = int(x_str)
此代码计算每个值的平方和:
elems = [ 10, 15, 20, 25 ]
value = 0
for index, elem in enumerate(elems):
value = elem * elem
print("Sum of products of %s is: %d" % (elems, value))
或者你可以这样做:
value = sum(map(lambda x: x*x, elems))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.