-1

Pythonでプログラムを書いたばかりです。プログラムは次のことを行います。

オリジナルというクラスがあります。2 つのメソッドがあります ( initの一部)。最初の方法はコードです。「コード」が行うことは、文字列を受け取り、それをエンコードして、受け取った文字列のすべての文字を ASCII テーブルの別の文字に変更することです。この ASCII 文字は、generacion_clave 関数に依存します。関数generacion_claveは、1からkの間の数をランダムに生成します(kはこの関数の入力パラメータです)。

たとえば、文字「e」は ASCII テーブルの 101 の場所にあります。したがって、生成された数値が 8 の場合、文字 e は、位置 109 (101 + 8) を持つ ASCII テーブル内の文字に変更されます。

メソッド decode は、エンコードされた文字列と clave を受け取り、デコードされた文字列を返します。

私がやりたいことは、以下を含むグラフィック インターフェイスをプログラムに追加することです。

元の文字列の入力ボックス、エンコードおよびデコードされた文字列が表示されるキャンバス (または出力ボックス?)、エンコードするボタンとデコードするボタン。

私は 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]

よろしくお願いします!パブロ

4

2 に答える 2

1

Tk で GUI を構築することはそれほど難しくありません。

エントリ (入力用のウィジェット)、一連のラベル (出力の印刷用)、およびボタンが必要です。

メイン フレームの構築とエントリ ウィジェットの使用については、こちらで説明しています。http://www.effbot.org/tkinterbook/entry.htm

基本的な GUI を試してみることをお勧めします (おそらく別のファイルで)。GUI が完成したら、それらをリンクします。

必要に応じて、基本的な GUI を作成した後にリンクを作成するお手伝いをします。

于 2015-04-15T13:40:47.500 に答える