python - 用“+”替换奇数索引中的字符
问题描述
我想用+
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
解决方案
除了缩进之外,您的代码没有任何问题。这是带有适当缩进的代码以及对函数的调用,然后打印结果:
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) + '-')
结果:
-+-+-+-+
-+-+-+-
推荐阅读
- java - 匹配Java中的阿拉伯标点符号
- office365 - 如何通过 Rest API 为 OneDrive For Business 的项目创建具有到期日期的共享链接?
- bash - 使用 Guetzli 监视文件夹和压缩 jpeg 的 Automator 脚本
- sql - 在 where 子句中使用 IF 条件
- php - 如何过滤 JOIN 中的记录以处理重复记录?
- perl - 如何将不同行的值推入散列并将其与 foreach 循环进行比较
- excel - 在两个不同的工作簿中添加列和查找值
- java - Spring Boot 2异常堆栈跟踪不完整
- sql - varbinary(16) 上的 ANSI_PADDING 不起作用
- linux - 我尝试通过crontab在linux上调度任务,但出现错误