我必须使用非空字符串作为输入来编写一个函数,该函数必须返回每个其他字符 ([::2]
) 乘以其索引 (n
) 乘以 2,加上 2 (2n+2
)。
结果应该是这样的:
输入“red” - 结果“rrrdddddd”
输入“hello” - 结果“hhlllllllooooooooo...”
鉴于这个前提,我尝试使用范围:
Input_string = ["c","a","m","i","ó","n"]
print(input_string)
for index in range(len(input_string[::2])):
但是之后,我真的不知道如何将“2n+2”应用于每个索引,以及如何将其应用于字符串中相应的字母。
失败的试验如下所示:
input_string = "camión"
for index in range(len(input_string[::2])):
n = index
m = input_string[::2]
print(n*m)
返回“cmo cmocmocmo”。我期望得到诸如“cccmmmmmmmmoooooooooonnnnnnnnnnnn”之类的结果
应该注意的是,在试验中,[::2] 导致索引从 0 到 2 (0, 1, 2
),而不是交错的 0, 2, 4
我早就料到了。
有什么建议吗?
最佳答案
您是否尝试过枚举
,给定一个列表l=['red', 'black', 'yellow']
,您可以使用下面的函数
In[27]: def string_multiplier(l):
...: for i in l:
...: res=''
...: for i,v in enumerate(i[::2]):
...: res += v*(2*i+2)
...: print(res)
...:
In[28]: string_multiplier(l)
rrdddd
bbaaaakkkkkk
yylllloooooo
关于python - 将字符串中的字符与其索引号相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55164323/