Advertisement
k_vychodilova

Krypto_2

Oct 23rd, 2017
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.56 KB | None | 0 0
  1. #from Tkinter.messagebox import *
  2. from Tkinter import *
  3.  
  4. okno = Tk()
  5. okno.title("Afinni sifra_Kryptologie")
  6. okno.resizable(False,False)
  7.  
  8. var = StringVar()
  9. label = Label( okno, text="Afinni sifra", font="Arial, 20")
  10. label.grid()
  11.  
  12. ramecek=Frame(okno)
  13. ramecek.grid()
  14.  
  15. vstupnitextsifrovani=Label(ramecek,text="Zadej vstupni text k zasifrovani:")
  16. vstupnitextsifrovani.grid(row=1,column=0)
  17.  
  18. vstupsifrovani=Entry(ramecek)
  19. vstupsifrovani.grid(row=1,column=1)
  20.  
  21. ksifrovani=[]
  22. zasifrovane=[]
  23. kdesifrovani=[]
  24. zakladniabeceda=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
  25.  
  26. nadpisvstupA=Label(ramecek, text="Zadej klic a:")
  27. nadpisvstupA.grid(row=2,column=0,sticky=W)
  28. vstupA=Entry(ramecek)
  29. vstupA.grid(row=2,column=1)
  30.  
  31.  
  32. nadpisvstupB=Label(ramecek, text="Zadej klic b:")
  33. nadpisvstupB.grid(row=3,column=0,sticky=W)
  34. vstupB=Entry(ramecek)
  35. vstupB.grid(row=3,column=1)
  36.  
  37. vstupnitextdesifrovani=Label(ramecek,text="Zadej vstupni text k desifrovani:")
  38. vstupnitextdesifrovani.grid(row=4,column=0)
  39. """
  40. def zkusebni():
  41.    delka=len(vstupsifrovani.get())
  42.    A=vstupA.get()
  43.    B=vstupB.get()
  44.    print int(A)+int(B)
  45.  
  46. """
  47.  
  48. def funkcesifrovani(vstupsifrovani):
  49.     delka=len(vstupsifrovani.get())     #potrebuju delku vstupniho stringu
  50.     A=vstupA.get()                      #potrebuji hodnotu klicu A,B
  51.     B=vstupB.get()
  52.     if delka>=1 and 0<=int(A)<=25 and 1<=int(B)<=26:
  53.         vstupsifrovani=vstupsifrovani.upper()
  54.         for i in range(delka):
  55.             pismeno=vstupsifrovani[i]
  56.             if pismeno != " ":
  57.                 ksifrovani.append(pismeno)
  58.             else:
  59.                 ksifrovani.append("XQW")
  60.         for i in range(delka):
  61.             pozice=zakladniabeceda.index(ksifrovani[i])
  62.             pozice_dve=(int(A)*pozice+int(B))%26
  63.             zasifrovane.append(zakladniabeceda[pozice_dve])
  64.  
  65.         print zasifrovane
  66.         return var.set(zasifrovane)
  67.  
  68.     else:
  69.         #showwarning(message="Nebyl zadan vstup nebo klice pro sifrovani")
  70.         print "tak nic no"
  71.         return 1
  72.  
  73.  
  74.  
  75. labelframe=LabelFrame(ramecek,text="Vysledek sifrovani/desifrovani:")
  76. labelframe.grid(rowspan=2,columnspan=2)
  77.  
  78. text=Label(labelframe,textvariable="var")
  79. text.grid()
  80.  
  81. ramec_tlacitka=Frame(okno)
  82. ramec_tlacitka.grid()
  83.  
  84. tlacitko_sifrovani=Button(ramec_tlacitka,text="Zasifrovat",command=funkcesifrovani(vstupsifrovani))
  85. tlacitko_desifrovani=Button(ramec_tlacitka,text="Desifrovat")
  86. tlacitko_sifrovani.grid(row=6,column=0)
  87. tlacitko_desifrovani.grid(row=6,column=1,)
  88.  
  89.  
  90. okno.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement