我对python3(以及一般的python)非常陌生,我决定尝试以我自己的方式制作一个cypher和decypher作为个人项目。cypher的工作原理是生成一个随机数并将字母的数值乘以它。它将所有这些相乘的值添加到一个列表中,然后在末尾添加随机数。你知道吗
假设清单是[1976,1995,19]。用户将复制并粘贴到输入中,然后按enter键
dlist = list(input('Text to be Decyphered:'))
然后,函数将获取列表中的最后一个值,并将该值赋给变量rnd。然后从列表中删除这个值。在此之后,它将其他值除以rnd。问题是
dlist[-1]
返回“]”
import string
import random
from random import randrange
def cypher():
rinput = input('Write Text to be Cyphered: ')
rnd = randrange(0, 100)
rinput = rinput.lower()
output = []
for character in rinput:
number = ord(character) * rnd
output.append(number)
output.append(rnd)
print(output)
def decypher():
dlist = list(input('Text to be Decyphered:'))
rnd = dlist[-2]
rnd = int(rnd)
dlist.pop()
a = 1
out = ""
for number in dlist:
vlc = int(dlist[a])
vnum = vlc/rnd
valf = chr(vnum)
out + valf
a=a+1
print(out)
我认为程序将列表视为字符串,因为它来自input()代码。你知道吗
在您的输入上尝试json:
您的代码有一些问题:
要将字符串转换为列表,可以使用
使用
list
函数时,它会将字符串转换为['[', '1', '9', '7', '6', ',', ' ', '1', '9', '9', '5', ',', ' ', '1', '9', ']']
改用:
eval
函数将其转换为实际列表。您可以交叉核对:相关问题 更多 >
编程相关推荐