繁体   English   中英

如何将字符串中的数字乘以 python 中字符串中的 position

[英]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))

如何将表示 integer 的字符串转换为 integer

x_str = '1'
x_int = int(x_str)

如何计算对数组(或其他可迭代对象)中的元素调用的 function 的总和:

此代码计算每个值的平方和:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM