Bonjour je débute en python et pour mon projet de fin d'année je fais appel à une fonction que j'ai créer qui parcours le premier mot que l'utilisateur rentre pour en déterminer les lettres identiques.
voilà mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
global l,Z
l=[]
 
z=input("message chiffré :\n")
Z=z.split()
 
 
def lettres_identiques(Z):
    chaine=[]
    for i in range(len(Z[0])-1):
        for j in range(len(Z[0])):      #prourquoi pas len(Z[0])-1 ?
            if Z[0][i]==Z[0][j] and i!=j:
                chaine=["ligne["]+[str(i)]+["]==ligne["]+[str(j)]+["] and "]
                l.append("".join(chaine))
 
lettres_identiques(Z)
chaine2="".join(l)
for i in chaine2:
    if i==0 or i==1 or i==2 or i==3 or i==4 or i==5 or i==6 or i == 7 or i == 8 or i==9:
        i=int(i)
fichier = open("/Users/brunojanuel/Desktop/decryptage dictionnaire.txt","r")  #le fichier qui est appelé est un dictionnaire numérique de langue française
for ligne in fichier:
    if len(ligne)==len(Z[0])+1 and chaine2[:-4]==True :
            print(ligne)
Je ne comprend pas pourquoi malgré ma condition chaine2[:-4]==True, le programme l'ignore. J'ai beau essayé de transformer à nouveau tous les chiffres de chaine2 en entier le programme ne le reconnait pas.
Que faire ? Merci de votre aide.