有人帮我解释一下这一段吗?移位解密密码

for j in passwords:

passwords = []
if 65 <= j <= 90:
    j += move
    while j < 65:
        j += 26
    while j > 90:
        j -= 26
elif 97 <= j <= 122:
    j += move
    while j < 97:
        j += 26
    while j > 122:
        j -= 26
elif 48 <= j <= 57:
    j += move
    print(j)
    while j < 48:
        j += 17
    while j > 57:
        j -= 17
pa_list.append(chr(j))

我把你的代码改造一下:

def abc(j,move):
    if 65 <= j <= 90:
        j += move
        while j < 65:
            j += 26
        while j > 90:
            j -= 26
    elif 97 <= j <= 122:
        j += move
        while j < 97:
            j += 26
        while j > 122:
            j -= 26
    elif 48 <= j <= 57:
        j += move
        #print(j)
        while j < 48:
            j += 17
        while j > 57:
            j -= 17
    return chr(j)

def translate(psd,move):
    res = ''
    for p in psd:
        res += abc(ord(p),move)
    return res

password = 'ABCDabcd1234'

print(translate(password,1))
print(translate(password,2))
print(translate(password,3))
print(translate(password,10))
print()
print(translate(password,-1))
print(translate(password,-2))
print(translate(password,-3))
print(translate(password,-10))

返回结果:
BCDEbcde2345
CDEFcdef3456
DEFGdefg4567
KLMNklmn*+,-

ZABCzabc0123
YZAByzab/012
XYZAxyza./01
QRSTqrst89)*

就是把一个字符串中的大写、小写字母和数字,同时移动几个位置(move就是移动的位数)
move为正数向后移动,为负数向前移动(把尾部的Z,z反过来接到头上去)