Problemes fonction python

Messages postés
1
Date d'inscription
mardi 22 mai 2018
Statut
Membre
Dernière intervention
23 mai 2018
- - Dernière réponse : lugdanum
Messages postés
74
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
9 août 2019
- 28 mai 2018 à 21:32
Je cherche à coder un programme de cryptographie et je bloque sur une fonction qui me renvoie une erreur que je ne comprend pas.

voici mon code :
from tkinter import *

#-------------------------On définis les fonctions--------------------------
liste = []
liste1 = []


def lettre(n):
return chr(n+65)

def num(caractere):
return ord(caractere)-65



def fn1() :
def valider() :
a = s.get()
b = sp1.get()
c = sp2.get()
liste[:] = [a, b, c]


return liste
fn.destroy



fn = Toplevel()
fn.geometry("300x200")

messagenoncodé = Label(fn, text = "Votre message doit être en majuscules uniquement!").pack()

entryVar = StringVar()
s = Entry( fn, textvariable = StringVar() )
s.pack( side=TOP )

cond1 = Label(fn, text="Le premier coéfficient doit être impair !").pack()

spinVar1 = IntVar()
sp1 = Spinbox( fn, from_=0, to=26, textvariable = IntVar() )
sp1.pack()

spinVar2 = IntVar()
sp2 = Spinbox( fn, from_=0, to=999, textvariable = IntVar() )
sp2.pack()

Canvas(fn, width = 50, height = 10).pack()

but1 = Button(fn, text ='Valider', command = valider).pack(side = LEFT, padx = 3, pady = 3)
but4 = Button(fn, text= 'Chiffrer', command = codage).pack(side = TOP, padx = 3, pady = 3)
but2 = Button(fn, text ='Dechiffrer').pack(side = RIGHT, padx = 3, pady = 3)
but3 = Button(fn, text = 'Quitter', command = fn.destroy).pack(side = BOTTOM, padx = 3, pady = 3)

lab = Label(fn).pack


def codage() :

C = 0
x = liste[0]
for C in x :
y = (num(C)*liste[1]+liste[2])%26
liste1.append(y)
print(liste1)
print("est votre message codé !")



et voici l'erreur :

Traceback (most recent call last):
File "F:\EduPython\App\lib\tkinter\__init__.py", line 1538, in __call__
return self.func(*args)
File "F:\Projet cryptographie\ISN\programme.py", line 63, in codage
y = (num(C)*liste[1]+liste[2])%26
TypeError: not all arguments converted during string formatting


Merci pour l'attention portée à mon programme.
Afficher la suite 

1 réponse

Messages postés
74
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
9 août 2019
0
Merci
Hello

J'ai compilé avec Sublime Text (Python 2.7) et là seule erreur que ton code m'a renvoyée était sur ta variable messagenoncodé (messagenoncode):
messagenoncodé = Label(fn, text = "Votre message doit être en majuscules uniquement!").pack()

--> replacé par : messagenoncode=....


Sinon 0 retour, tu codes sur quelle appli et avec quelle version de python ?
Commenter la réponse de lugdanum