这是我的任务: https://i.stack.imgur.com/qv6us.png
我试图通过使用z作为列表项来从ASCII列表中取出每个项目,因此每次进行for循环时程序都会增加z。
ciphertext = []
z=0
for item in messagelist: # messagelist a list of characters
如果有空格,那么我想忽略它。
if ' ' in messagelist:
break
然后我希望它将项目添加到整数:' offsetfactor'。
else: # ascii list is a list of ascii codes/integers
y = asciilist[z] + offsetFactor # offset factor is a randomly generated integer
print (y)
然后,如果答案超过126,我将减去94并将答案变为ASCII字符。然后我想将所有ASCII字符附加到列表中并将列表转换为字符串。
if y > 126:
y = y - 94
asciichar = str(chr(y)) # turns y into an ascii character
ciphertext.append(asciichar) # adds the ascii character to a list called ciphertext
else:
asciichar = str(chr(y))
ciphertext.append(asciichar)
z+=1
encrypted = str(ciphertext) # turns ciphertext into a string
print ('Your encrypted message is: ',encrypted)
这似乎不像加密的那样工作。打印为空列表。 我会感激任何帮助,因为我甚至花了很长时间来写这个问题!