【发布时间】:2020-02-24 13:00:05
【问题描述】:
我的 Python 3 加密程序有问题。我正在编写代码,使用比较来检查userMessage 中的某些字母,使用if 语句和for 循环。我遇到的问题是字母表会在加密输出的每个字母之间弹出。例如,如果输出应该是amxer,那么它就是aAmBxCeDr。此外,检查vwxyz 的第二个if 语句使vwxyz 在从vwxyz 以ASCII 码向右滚动5 次加密的符号之间弹出。第二个if 语句是将这些符号更改为字母abcde。
#Start
#variables
encryptedMessage=""
userMessage = input("your message here: ")
userMessage =userMessage.lower()
shift=5
#function
def step2():
#for loop
for character in userMessage:
#5:50AM February 24th, 2020
#looking for global variable
global encryptedMessage
if character== "a"or"b"or"c"or"d"or"e"or"f"or"g"or"h"or"i"or"j"or"k"or"l"or"m"or"n"or"o"or"p"or"q"or"r"or"s"or"t"or"u":
eN = ord(character)
eN+= shift
encryptedMessage+=chr(eN)
#checking for letters that go to random symbols
if character=="v"or"w"or"x"or"y"or"z":
if character=="v": character=="a"
if character=="w": character=="b"
if character=="x": character=="c"
if character=="y": character=="d"
if character=="z": character=="e"
encryptedMessage+=character
step2()
print(userMessage)
print(encryptedMessage)
我的代码输出如下:
your message here: abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
fagbhcidjekflgmhniojpkqlrmsntoupvqwrxsytzu{v|w}x~yz
>>>
【问题讨论】:
-
您无法进行比较。
character == 'a' or 'b'与(character == 'a') or 'b'相同,自b is not None以来始终为 True。
标签: python python-3.x for-loop encryption python-idle