小编luk*_*uky的帖子

减少Python中函数的参数数量?

我的问题是如何处理我使用凯撒密码的代码片段.

函数Decrypt和Encrypt必须处理字母表的限制(A - Z和a - z).我试图在一个名为cycleencrypt的循环函数中为两个字母编写两个可能的循环.

但是该函数需要大约6个参数,而且我已经阅读了一个在一个函数中具有3个以上参数的可读性和可理解性较低的地方,所以我的问题是:

我应该通过拆分两个函数来减少参数的数量,并使代码片段更长(但可能更容易理解)?谢谢你的回答,我很感激.

编辑:删除了函数周围的文档,以使我的问题的主要目的可见.

def offsetctrl(offset):
    while offset < 0:
        offset += 26
    return offset

def cycleencrypt(string, offset, index, listing, first, last):
    offset = offsetctrl(offset)
    if string >= ord(first) and string <= ord(last):
        string += offset
        while string > ord(last):
            string = ord(first) + (string - ord(last) -1)
        listing[index] = chr(string)         
Run Code Online (Sandbox Code Playgroud)

循环加密有大量参数和负偏移控制

def encrypt(retezec, offset):
    listing = list(retezec)
    for …
Run Code Online (Sandbox Code Playgroud)

python arguments function

5
推荐指数
1
解决办法
1078
查看次数

标签 统计

arguments ×1

function ×1

python ×1