You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自定义加法规则的二进制数字序列按位相加实现求助

核心错误梳理

  • 循环内重复初始化结果变量Code,每次迭代都会清空之前的计算结果
  • Python字符串为不可变类型,无法通过下标直接修改单字符,str.replace()方法会返回新字符串而非修改原对象
  • 你定义的加法规则等价于二进制按位异或运算,无需手动做加法判断,可以直接用异或逻辑简化实现

满足需求的完整实现代码

# 按位异或加法实现
def mutate_code_add(code1: str, code2: str) -> str:
    # 校验输入长度符合要求
    if not (4 <= len(code1) <= 26 and 4 <= len(code2) <= 26):
        raise ValueError("输入编码长度需在4-26位范围内")
    if len(code1) != len(code2):
        raise ValueError("两组输入编码长度需保持一致")
    # 逐位异或计算
    res = []
    for a, b in zip(code1, code2):
        res.append(str(int(a) ^ int(b)))
    return ''.join(res)

# 测试用例
Code1 = '100100'
Code2 = '101011'
print(mutate_code_add(Code1, Code2)) # 输出 001111

极简写法(仅用于已知输入合法的场景)

如果已经提前确认输入长度、格式都符合要求,可以直接用一行代码实现:

Code = ''.join(str(int(a) ^ int(b)) for a,b in zip(Code1, Code2))

内容的提问来源于stack exchange,提问作者Caitlin Kermen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 13:21:03