Python .replace()的问题 美团笔试

我在赛码网参加美团的笔试的时候,好像出现了a.replace() 不能用的问题。有人遇到过吗?
这是我的代码,问题是类似回文数字串。第一行n,n组数据。第二行l,一串数字的长度,第三行是一串数字。题目要求是判断能否改变一个数变成回文,如果不能,改变一个数,让数字尽量小。
def IsReversible(bricks):
    count = 0
    for i in range(len(bricks)//2):
        if bricks[i] != bricks[-i-1]:
            count +=1
    if count > 2:
        return False
    else:
        return True


n = int(input())
for i in range(n):
    l = int(input())
    bricks = str(input())
    #如果可逆,那么将奇数型字符串的中间一位替换为0
    if IsReversible(bricks):
        if l%2 == 1:
            bricks.replace(bricks[l//2], '0')
    else:
        for j in range(l):
            if int(bricks[j]) > 0:
                bricks.replace(bricks[j], '0')
                break
print(bricks)

#笔试题目##美团#
全部评论
bricks=bricks.replace(bricks[l//2], '0') 这样应该就对了。 字符串是不可变类型,replace()方法不能原地修改,需要重新赋值。
1 回复
分享
发布于 2021-03-27 18:31
是我写错了吗
点赞 回复
分享
发布于 2021-03-27 18:10
联想
校招火热招聘中
官网直投

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务