在函数" enText"即使我不修改它也会改变它的价值。
e = 5且n = 6.enText是一个整数数组。 我将数组中的值传递给changeTxt后修改它。然后我返回changeTxt,但由于某种原因,enText最终也被修改了。
不知道为什么。
#Function for encryption
def encrypt(e, n, enText):
#e=5 & n=6
changeTxt = enText
print(enText)
#prints [18, 15, 2, 9, 14]
for x in range(0, len(changeTxt)):
#problem here!!!!!!!!
tmp = changeTxt[x]**e
tmp = tmp % n
changeTxt[x] = tmp
print(enText)
#prints [0, 3, 2, 3, 2]
return changeTxt
答案 0 :(得分:0)
你的行
changeTxt = enText
仅复制对列表的引用,但两者都指向同一列表。因此,changeTxt
的更改也会影响enText
。
而是尝试像这样克隆列表:
changeTxt = enText[:]
或
changeTxt = list(enText)