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

Python中两个encrypt函数为何效果不同?第一个无法正常加密

两个encrypt加密函数的功能差异分析

核心差异:加密结果的存储方式完全不同

  • 第一个函数(加密失效):
    遍历输入字符串a时,仅将加密后的字符赋值给循环临时变量n。但Python中字符串是不可变类型,n只是原字符串单个字符的副本,修改n不会对原字符串a产生任何影响。最后打印的仍是原始输入的字符串,因此输入abc输出还是abc。

    对应代码:

    def encrypt(a, b):
        for n in a:
            # n是临时变量,修改它无法改变原字符串a
            n = alphabet[alphabet.index(n)+b]
        # 输出的是未修改的原始输入a
        print(f"The encoded text is {a}")
    
    encrypt(text,shift)
    
  • 第二个函数(加密有效):
    先创建空字符串new作为加密结果容器,每次循环将加密后的字符追加到new中,逐步拼接出完整的加密字符串。最后打印的是这个新生成的加密字符串,因此输入abc能得到加密后的cde。

    对应代码:

    def encrypt(a, b):
        new =""
        for n in a:
            # 将加密字符追加到新字符串,逐步构建结果
            new += alphabet[alphabet.index(n)+b]
        # 输出拼接完成的加密字符串
        print(f"The encoded text is {new}")
    
    encrypt(text,shift)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 07:28:17