我遇到了问题。以下程序在运行时发出蜂鸣声,我没有编入程序。我在笔记本电脑上运行Windows 7,并想知道为什么会这样。
我的代码基本上是一个简单的小加密器。它还不能处理ASCII范围之外的东西,但这超出了这个问题的范围。
最终,我想知道,为什么会发出哔哔声? (注意:这是一个类,这就是为什么包括self。)
def encrypt(self,message,private_key):
import random
self.message=str(message)
self.private_key=int(private_key)
self.public_key=""
self.final_message=""
self.errors=[]
for letter in str(self.message):
y=random.randrange(0,ord(letter))
a=y+self.private_key
x=ord(str(letter))^a
if x in range(0,256):
z=chr(x)
self.final_message=self.final_message+str(z)
self.public_key=self.public_key+str(chr(y))
else:
char="Letter: "+str(letter)+", ASCII value unabled to be processed: "+str(x)+" using keys: "+"Private key: "+str(self.private_key)+" Random Key: "+str(y)
self.errors.append(char)
print "Message: "+str(self.message)
print
print "Length of Message: "+"["+str(len(str(self.message)))+"]"
print
print "Final Message: "+"["+str(self.final_message)+"] "+"length of message: "+str(len(str(self.final_message)))
print
print "Public Key: "+"["+str(self.public_key)+"] "+"length of key: "+str(len(str(self.public_key)))
print
print "Private Key:"+"["+str(self.private_key)+"]"
if len(self.errors)!=0:
print "errors: "
print
for error in self.errors:
print error
print
答案 0 :(得分:4)
http://en.wikipedia.org/wiki/Bell_character
ascii 7是你的罪魁祸首。考虑编码为base64或其他一些可打印的子集。
答案 1 :(得分:0)
如果您要随时打印ASCII代码7,可能会使控制台/终端发出哔声。
试一试:
>>> print chr(7)