我剛剛用Python編寫了一個程序。該程序做如下:在python中添加一個圖形界面(Tkinter)到這個程序中?
有一個類叫做原創。它有2種方法(init的一部分)。第一種方法是代碼。 「代碼」的作用是接收一個字符串並對其進行編碼,將接收到的字符串中的每個字符更改爲ASCII表的另一個字符。這個ASCII字符取決於函數generacion_clave。函數generacion_clave隨機生成1到k之間的數字(k是該函數的輸入參數)。
例如,字符「e」在ASCII表中的位置101。因此,如果生成的數字是8,那麼字符e將改變爲位置爲109(101 + 8)的ASCII表格中的字符。方法decode將接收到編碼的字符串和clave,並返回解碼後的串。
我想什麼做的是添加到程序中包含的圖形界面:(?或輸出框)
原來的字符串,Canvas中輸入框,其中編碼和解碼字符串我們如圖所示,一個編碼按鈕和一個解碼按鈕。
我在Python中很新,我已經閱讀了關於Tkinter的一些教程,但是我一點都不覺得簡單。所以我會很感激任何幫助:)
from random import randint
class original():
def __init__(self, mensaje_original):
self.mensaje_original = mensaje_original
def code(self, gen_clav, *args):
cadena_codificada =""
clave = gen_clav(*args)
for i in self.mensaje_original:
clave_mod = ord(i) + clave
if clave_mod > 255:
clave_mod = clave_mod - 255
cadena_codificada = cadena_codificada + chr(clave_mod)
return cadena_codificada, clave
def decode(self, cadena_cod_clave):
cadena_decodificada =""
clave = int(cadena_cod_clave[1])
for i in cadena_cod_clave[0]:
clave_mod = ord(i) - clave
if clave_mod > 255:
clave_mod = clave_mod - 255
cadena_decodificada = cadena_decodificada + chr(clave_mod)
return cadena_decodificada, cadena_cod_clave[1]
def generacion_clave(k):
cl = randint(1, k + 1)
return cl
mensaje_original = "Hola tio como estas"
mensaje = original(mensaje_original)
cad_cod_clav = mensaje.code(generacion_clave, 10)
cad_dec_clav = mensaje.decode(cad_cod_clav)
print "La cadena original es: %s" %cad_dec_clav[0]
print "La cadena cifrada es: %s" %cad_cod_clav[0]
print "la clave es: %d " %cad_cod_clav[1]
非常感謝提前! Pablo
歡迎來到Stack Overflow。不幸的是,這不是一個免費的代碼編寫服務,所以你應該嘗試自己實現這一點。如果你在實現過程中遇到任何困難,你可以問一個特定的[on-topic](http://stackoverflow.com/help/on-topic)[question](http://stackoverflow.com/help/how-to -問)。 – fhdrsdg