Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何检查列表中是否存在值,并将包含该值的元素存储在变量中_Python_List - Fatal编程技术网

Python 如何检查列表中是否存在值,并将包含该值的元素存储在变量中

Python 如何检查列表中是否存在值,并将包含该值的元素存储在变量中,python,list,Python,List,我试图制作一个加密机,它将字母移动3次(因此A变成D,B变成E,等等) 然后X回到A,Y回到B,Z回到C。我用ASCII值来移动它们。我试图查看列表的任何部分是否具有ASCII值X、Y或Z,如果是,则将该元素更改回A、B或C的ASCII值。 我知道你可以检查列表中是否有一个值,但是我如何实际获取这个值并更改它呢?以下是我想做的: 检查用户输入列表中是否存在X/Y/Z的ASCII码 如果为true,则获取该值并相应地将其更改回A/B/C的ASCII值。 这是我的密码: 谢谢 实际上不需要单独检

我试图制作一个加密机,它将字母移动3次(因此A变成D,B变成E,等等) 然后X回到A,Y回到B,Z回到C。我用ASCII值来移动它们。我试图查看列表的任何部分是否具有ASCII值X、Y或Z,如果是,则将该元素更改回A、B或C的ASCII值。 我知道你可以检查列表中是否有一个值,但是我如何实际获取这个值并更改它呢?以下是我想做的:

  • 检查用户输入列表中是否存在X/Y/Z的ASCII码
  • 如果为true,则获取该值并相应地将其更改回A/B/C的ASCII值。 这是我的密码:

谢谢

实际上不需要单独检查
x,y,z
。只需使用模运算符(
%
),因此如果它溢出,它将返回到
a、b、c

def encrypt(userInput):
    # Find Ascii Value of plaintext
    asciiValue = [ord(c) for c in userInput]
    # Convert Ascii value (list) into integers
    intAscii = [int(x) - 97 for x in asciiValue]

    encryptedAscii = [(n + 3) % 26 + 97 for n in intAscii]
    encryptedOutput = ''.join(chr(v) for v in encryptedAscii)
    return encryptedOutput

from string import ascii_lowercase
print(encrypt(ascii_lowercase))
输出:

defghijklmnopqrstuvwxyabc
ABCDEFGXYZabcdefgxyz  =>  DEFGHIJABCdefghijabc

使用
ord
chr
可以,但还有一种更简单的方法:和:

输出:

defghijklmnopqrstuvwxyabc
ABCDEFGXYZabcdefgxyz  =>  DEFGHIJABCdefghijabc

显然这是行不通的:如果encryptedAscii中的'120':encryptedAscii='97'elif'121'在encryptedAscii:encryptedAscii='98'elif'122'在encryptedAscii:encryptedAscii='99'中,但我不知道如何正确操作……我从未使用过
str.maketrans
,所以这对我来说是一个有趣的方法。然而,“abc”应该变成“def”。根据您的解决方案,它仍然是“abc”。@Asocia-再次编辑-现在Z映射到C,Z映射到C:)-我最初使用的翻译格言中只有大写字母(ascii_大写)