2012-04-23 133 views
0

我遇到了問題。下面的程序在運行時發出嘟嘟聲,而我沒有編入程序。我在筆記本電腦上運行Windows 7,並想知道爲什麼會發生這種情況。Python程序運行時發出嗶聲?

我的代碼基本上是一個簡單的小加密器。它還不能處理ASCII範圍之外的事情,但這超出了這個問題的範圍。

最後,我想知道,它爲什麼會發出嗶聲? (注:這是從一個類這就是爲什麼包括個體經營)

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 
+1

什麼是關鍵的'print'報表的格式?可能性是,有一個字節在那裏終端正在解釋爲嘟嘟聲字符 – tMC 2012-04-23 16:27:14

+0

@ tMC他們是ASCII字符。 – 2012-04-23 16:28:00

+1

但是它們中的任何一個是ASCII碼7?您可以使用中的「if'\ x07':print'bell'」進行快速檢查。 – DNS 2012-04-23 16:31:27

回答

0

如果您隨時打印ASCII碼7,則可能會使控制檯/終端發出嗶聲。

試試:

>>> print chr(7) 
相關問題