首页 > 解决方案 > 用“+”替换奇数索引中的字符

问题描述

我想用+n 字符串改变奇数位置的字符-

def make_sep_line(n):
    result = '-'*n*2
    
for i in range(1,n*2):
    if i%2!=0 :
        result=result[0:i]+'+'+result[i+1:]
        
        return result

标签: python

解决方案


除了缩进之外,您的代码没有任何问题。这是带有适当缩进的代码以及对函数的调用,然后打印结果:

def make_sep_line(n):
    result = '-' * n * 2
    for i in range(1, n * 2):
        if i % 2 != 0:
            result = result[0:i] + '+' + result[i + 1:]
    return result

print(make_sep_line(4))

结果:

-+-+-+-+

如果你想要的是你在评论中所说的,那么你想稍微修改一下解决方案,如下:

def make_sep_line(n):
    result = '-' * (n * 2 - 1)
    for i in range(1, n * 2 - 1):
        if i % 2 != 0:
            result = result[0:i] + '+' + result[i + 1:]
    return result

print(make_sep_line(4))

结果;

-+-+-+-

我不确定您的解决方案的确切限制是什么。有很多方法可以解决这个问题。我生成这些相同字符串的简洁方法如下:

n = 4
print('-+' * n)
print('-+' * (n-1) + '-')

结果:

-+-+-+-+
-+-+-+-

推荐阅读