在阅读问题之前跳过阅读代码
)
def generator():
enckey="abcdefghijklmnopqrstuvwxyz"
a=list(enckey)
random.shuffle(a)
c=''
for i in a:
c+=i
c=c+a[0]
return c
def senc(a,enckey=generator()):
b=list(a)
for i in range(0,len(a)):
for j in range(0,27):
if b[i]==enckey[j]:
b[i]=enckey[j+1]
break
c=''
for i in b:
c+=i
print("Encrypted text:",c,"\nEncryption Key:",enckey)
现在当我调用函数时
senc("argument")
,它生成一个
enckey
并使用它加密所提供的文本。既然我这么说
enckey=generator()
我希望每次都是这样
senc
以下是证据:
>>> id(senc("Andy"))
Encrypted text: Arnj
Encryption Key: htpkzwqlxcsdnregobvaimyjufh
1655676136
>>> id(senc("Candy"))
Encrypted text: Cirnj
Encryption Key: htpkzwqlxcsdnregobvaimyjufh
1655676136
两者都在同一个内存地址,而且加密密钥是相同的。我哪里出错了,为什么它不调用函数?