我写了一个我正在写程序的脚本,因为我改变了职业生涯,但遇到了很多问题。假设取一个字符串并用一个密钥加密它。因为我是编程新手,所以不知道从哪里开始解决问题,所以来这里寻求帮助。也许如果你能指出我的写作方向从哪里开始?Python脚本不能正常工作
这是我得到的错误,但看起来不错。
$ python temp.py -p "ThisIsATestOfMyCode" -k "testtest"
File "encrypt.py", line 37
else:
^
这是我的代码。
#!/usr/bin/env python
import sys, argparse
def encrypt(varAble1, varAble2):
varAble1_size = len(varAble1)/float(len(varAble2))
if str(varAble1_size).split(".")[1] == "0":
else:
while str(varAble1_size).split(".")[1] != "0":
varAble1 +== "@"
varAble1_size = len(varAble1)/float(len(varAble2))
code = []
varAble1 = list(varAble1)
varAble2 = list(varAble2))
multiply_size = int(str((varAble1_size)).spliy(".")[0]) * 8
while varAble1 != []:
p_varAble1 = varAble1[0:8]
p_varAble2 = varAble2[0:8]
temp_list = []
for i in xrange(0,8):
if type(p_varAble2[i]) == type(int):
new_ct = (ord(chr(p_varAble2[i]))^ord(p_varAble1[0]))
else:
new_ct = (ord(p_varAble2[i])^ord(p_varAble1[0]))
code.append(new_ct)
temp_list.append(new_ct)
varAble1.pop(0)
p_varAble1.pop(0)
varAble2 = temp_list
varAble2.reverse()
code.reverse()
varAble1 = code.reverse()
code_text = []
for i in code:
hex_value = hex(i)
if len(hex_value) != 4:
code_text.append("0" + hex(i)[2:])
else:
code_text.append(hex(i)[2:])
varAble2 += i
code_text = "".join(code_text).upper()
return code_text
def main():
parser = argparse.ArgumentParser(description="Encrypt things")
parser.add_argument("-p", "--var1",help="String to enc",metavar='<pt>', required=True)
parser.add_argument("-k", "--var2", help="8 length key to encrypt with", metavar='<key>', required=True)
args = parser.parse_args()
var1 = args.var1
var2 = args.var2
hash = encrypt(var1, var2)
print "[+] Encrypted using %s [+]\n%s" % (var2, hash)
if __name__ == "__main__":
main()
以及Andrew的回答您的行在“new_ct”else之后没有正确缩进。这可能是你的代码有一些使用空格缩进的行,有些使用制表符。 –
这个程序有些奇怪。它似乎不是由Python新手编写的。另一方面,它有初学者的错误。如果你想学习Python,从简单的程序开始,而不是复制代码。小步骤。这可以更容易地发现你的错误。 –
欢迎来到SO!在发布任何问题之前,请阅读本文[如何操作](http://stackoverflow.com/help/how-to-ask)。 – thewaywewere