是否可以将这种默认值添加到 Caesar cypher python?
Is it possible to add this kind of default value to Caesar cypher python?
这是我想执行的基本函数调用,
正如您在下面的签名中看到的那样,为了方便起见,我希望 s 中的默认值是传入的字符串的长度。是否可以在 python 中执行此操作?或者这个的某个版本?
def encrypt(text, s=len(text)):
result = ""
# transverse the plain text
for i in range(len(text)):
char = text[i]
# Encrypt uppercase characters in plain text
if (char.isupper()):
result += chr((ord(char) + s - 65) % 26 + 65)
# Encrypt lowercase characters in plain text
else:
result += chr((ord(char) + s - 97) % 26 + 97)
return result
正确的方法是:
def encrypt(text, s=None):
if s is None:
s = len(text)
这是我想执行的基本函数调用, 正如您在下面的签名中看到的那样,为了方便起见,我希望 s 中的默认值是传入的字符串的长度。是否可以在 python 中执行此操作?或者这个的某个版本?
def encrypt(text, s=len(text)):
result = ""
# transverse the plain text
for i in range(len(text)):
char = text[i]
# Encrypt uppercase characters in plain text
if (char.isupper()):
result += chr((ord(char) + s - 65) % 26 + 65)
# Encrypt lowercase characters in plain text
else:
result += chr((ord(char) + s - 97) % 26 + 97)
return result
正确的方法是:
def encrypt(text, s=None):
if s is None:
s = len(text)