mirror of
https://github.com/BreizhHardware/chiff-affine.git
synced 2026-01-18 16:37:39 +01:00
Cleaning up the folder
This commit is contained in:
@@ -1,72 +0,0 @@
|
||||
#R = machin.read(1)
|
||||
#if not R = \00
|
||||
def pgcd(a,b):
|
||||
while b!=0:
|
||||
a,b=b,a%b
|
||||
return a
|
||||
def chiffrementAffine(a,b,L):
|
||||
alphabet=["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"]
|
||||
x=alphabet.index(L)
|
||||
y=(a*x+b)%26
|
||||
return alphabet[y]
|
||||
def inverse(a):
|
||||
x=0
|
||||
while (a*x%26!=1):
|
||||
x=x+1
|
||||
return x
|
||||
def dechiffrementAffine(a,b,L):
|
||||
alphabet=["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"]
|
||||
x=alphabet.index(L)
|
||||
y=(inverse(a)*(x-b))%26
|
||||
return alphabet[y]
|
||||
|
||||
|
||||
def crypt(M,a,b):
|
||||
if (pgcd(a,26)==1):
|
||||
mot = []
|
||||
for i in range(0,len(M)):
|
||||
mot.append(chiffrementAffine(a,b,M[i]))
|
||||
return "".join(mot)
|
||||
else:
|
||||
return "Chiffrement impossible. Veuillez choisir un nombre a premier avec 26."
|
||||
|
||||
def decrypt(M,a,b):
|
||||
if (pgcd(a,26)==1):
|
||||
mot = []
|
||||
for i in range(0,len(M)):
|
||||
mot.append(dechiffrementAffine(a,b,M[i]))
|
||||
return "".join(mot)
|
||||
else:
|
||||
return "Déchiffrement impossible. Le nombre a n'est pas premier avec 26."
|
||||
def readByteFile(A: str):
|
||||
with open(A, "rb") as f:
|
||||
with open("result.txt", "a+") as o:
|
||||
byte = f.read(1)
|
||||
while (byte := f.read(1)):
|
||||
o.write(str(byte))
|
||||
def decouper(F: str):
|
||||
fd = open("result.txt", "r").readlines()
|
||||
for line in fd:
|
||||
line = line.sp
|
||||
|
||||
|
||||
def cryptFichier(A: str, a,b):
|
||||
X = openBytesFile(A)
|
||||
fdout = open("resulttest.txt", "wb")
|
||||
for i in range(len(X)):
|
||||
fdout.write(X[i])
|
||||
crypt(fdout, a, b)
|
||||
|
||||
def openBytesFile(A: str):
|
||||
opened = []
|
||||
fdin = open(A, "rb")
|
||||
data = fdin.read(1)
|
||||
while data != b'':
|
||||
opened.append(data)
|
||||
data = fdin.read(1)
|
||||
fdin.close()
|
||||
return opened
|
||||
|
||||
print(chiffrementAffine(1, 3, 'P'))
|
||||
print(crypt("JAIMELESFRITESALAFRITEUSES", 1, 3))
|
||||
print(openBytesFile("testcrypt.txt"))
|
||||
Binary file not shown.
BIN
enemyCrypted
BIN
enemyCrypted
Binary file not shown.
BIN
enemyDeCyted.mp3
BIN
enemyDeCyted.mp3
Binary file not shown.
29
info.py
29
info.py
@@ -1,29 +0,0 @@
|
||||
def brutforce(filenameIn: str, filenameOut = 'result'):
|
||||
maj = ["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"]
|
||||
createFile(filenameOut)
|
||||
fdin = open(filenameIn, "rb")
|
||||
fdout = open(filenameOut, "wb")
|
||||
data = fdin.read(1)
|
||||
for keya in range(1, 256):
|
||||
print(keya)
|
||||
for keyb in range(1, 256):
|
||||
print(keyb)
|
||||
i = dechiffrementAffineByte(data, keya, keyb)
|
||||
ib = str(i, "utf-8")
|
||||
for ib in maj:
|
||||
fdout.write(i)
|
||||
|
||||
def findKey(data: bytes, dataout: bytes, filenameOut = 'result'):
|
||||
createFile(filenameOut)
|
||||
fdout = open(filenameOut, "w")
|
||||
for keya in range(1, 256):
|
||||
if keya % 2 != 0:
|
||||
for keyb in range(1, 256):
|
||||
i = dechiffrementAffineByte(data, keya, keyb)
|
||||
if i == dataout:
|
||||
fdout.write("keya: ")
|
||||
fdout.write(str(keya))
|
||||
fdout.write(" ")
|
||||
fdout.write("keyb: ")
|
||||
fdout.write(str(keyb))
|
||||
fdout.write("\n")
|
||||
128
keyout
128
keyout
@@ -1,128 +0,0 @@
|
||||
keya: 1 keyb: 138
|
||||
keya: 3 keyb: 74
|
||||
keya: 5 keyb: 10
|
||||
keya: 7 keyb: 202
|
||||
keya: 9 keyb: 138
|
||||
keya: 11 keyb: 74
|
||||
keya: 13 keyb: 10
|
||||
keya: 15 keyb: 202
|
||||
keya: 17 keyb: 138
|
||||
keya: 19 keyb: 74
|
||||
keya: 21 keyb: 10
|
||||
keya: 23 keyb: 202
|
||||
keya: 25 keyb: 138
|
||||
keya: 27 keyb: 74
|
||||
keya: 29 keyb: 10
|
||||
keya: 31 keyb: 202
|
||||
keya: 33 keyb: 138
|
||||
keya: 35 keyb: 74
|
||||
keya: 37 keyb: 10
|
||||
keya: 39 keyb: 202
|
||||
keya: 41 keyb: 138
|
||||
keya: 43 keyb: 74
|
||||
keya: 45 keyb: 10
|
||||
keya: 47 keyb: 202
|
||||
keya: 49 keyb: 138
|
||||
keya: 51 keyb: 74
|
||||
keya: 53 keyb: 10
|
||||
keya: 55 keyb: 202
|
||||
keya: 57 keyb: 138
|
||||
keya: 59 keyb: 74
|
||||
keya: 61 keyb: 10
|
||||
keya: 63 keyb: 202
|
||||
keya: 65 keyb: 138
|
||||
keya: 67 keyb: 74
|
||||
keya: 69 keyb: 10
|
||||
keya: 71 keyb: 202
|
||||
keya: 73 keyb: 138
|
||||
keya: 75 keyb: 74
|
||||
keya: 77 keyb: 10
|
||||
keya: 79 keyb: 202
|
||||
keya: 81 keyb: 138
|
||||
keya: 83 keyb: 74
|
||||
keya: 85 keyb: 10
|
||||
keya: 87 keyb: 202
|
||||
keya: 89 keyb: 138
|
||||
keya: 91 keyb: 74
|
||||
keya: 93 keyb: 10
|
||||
keya: 95 keyb: 202
|
||||
keya: 97 keyb: 138
|
||||
keya: 99 keyb: 74
|
||||
keya: 101 keyb: 10
|
||||
keya: 103 keyb: 202
|
||||
keya: 105 keyb: 138
|
||||
keya: 107 keyb: 74
|
||||
keya: 109 keyb: 10
|
||||
keya: 111 keyb: 202
|
||||
keya: 113 keyb: 138
|
||||
keya: 115 keyb: 74
|
||||
keya: 117 keyb: 10
|
||||
keya: 119 keyb: 202
|
||||
keya: 121 keyb: 138
|
||||
keya: 123 keyb: 74
|
||||
keya: 125 keyb: 10
|
||||
keya: 127 keyb: 202
|
||||
keya: 129 keyb: 138
|
||||
keya: 131 keyb: 74
|
||||
keya: 133 keyb: 10
|
||||
keya: 135 keyb: 202
|
||||
keya: 137 keyb: 138
|
||||
keya: 139 keyb: 74
|
||||
keya: 141 keyb: 10
|
||||
keya: 143 keyb: 202
|
||||
keya: 145 keyb: 138
|
||||
keya: 147 keyb: 74
|
||||
keya: 149 keyb: 10
|
||||
keya: 151 keyb: 202
|
||||
keya: 153 keyb: 138
|
||||
keya: 155 keyb: 74
|
||||
keya: 157 keyb: 10
|
||||
keya: 159 keyb: 202
|
||||
keya: 161 keyb: 138
|
||||
keya: 163 keyb: 74
|
||||
keya: 165 keyb: 10
|
||||
keya: 167 keyb: 202
|
||||
keya: 169 keyb: 138
|
||||
keya: 171 keyb: 74
|
||||
keya: 173 keyb: 10
|
||||
keya: 175 keyb: 202
|
||||
keya: 177 keyb: 138
|
||||
keya: 179 keyb: 74
|
||||
keya: 181 keyb: 10
|
||||
keya: 183 keyb: 202
|
||||
keya: 185 keyb: 138
|
||||
keya: 187 keyb: 74
|
||||
keya: 189 keyb: 10
|
||||
keya: 191 keyb: 202
|
||||
keya: 193 keyb: 138
|
||||
keya: 195 keyb: 74
|
||||
keya: 197 keyb: 10
|
||||
keya: 199 keyb: 202
|
||||
keya: 201 keyb: 138
|
||||
keya: 203 keyb: 74
|
||||
keya: 205 keyb: 10
|
||||
keya: 207 keyb: 202
|
||||
keya: 209 keyb: 138
|
||||
keya: 211 keyb: 74
|
||||
keya: 213 keyb: 10
|
||||
keya: 215 keyb: 202
|
||||
keya: 217 keyb: 138
|
||||
keya: 219 keyb: 74
|
||||
keya: 221 keyb: 10
|
||||
keya: 223 keyb: 202
|
||||
keya: 225 keyb: 138
|
||||
keya: 227 keyb: 74
|
||||
keya: 229 keyb: 10
|
||||
keya: 231 keyb: 202
|
||||
keya: 233 keyb: 138
|
||||
keya: 235 keyb: 74
|
||||
keya: 237 keyb: 10
|
||||
keya: 239 keyb: 202
|
||||
keya: 241 keyb: 138
|
||||
keya: 243 keyb: 74
|
||||
keya: 245 keyb: 10
|
||||
keya: 247 keyb: 202
|
||||
keya: 249 keyb: 138
|
||||
keya: 251 keyb: 74
|
||||
keya: 253 keyb: 10
|
||||
keya: 255 keyb: 202
|
||||
127
keyoute
127
keyoute
@@ -1,127 +0,0 @@
|
||||
keya: 1 keyb: 204
|
||||
keya: 3 keyb: 2
|
||||
keya: 5 keyb: 56
|
||||
keya: 7 keyb: 110
|
||||
keya: 9 keyb: 164
|
||||
keya: 11 keyb: 218
|
||||
keya: 13 keyb: 16
|
||||
keya: 15 keyb: 70
|
||||
keya: 17 keyb: 124
|
||||
keya: 19 keyb: 178
|
||||
keya: 21 keyb: 232
|
||||
keya: 23 keyb: 30
|
||||
keya: 25 keyb: 84
|
||||
keya: 27 keyb: 138
|
||||
keya: 29 keyb: 192
|
||||
keya: 31 keyb: 246
|
||||
keya: 33 keyb: 44
|
||||
keya: 35 keyb: 98
|
||||
keya: 37 keyb: 152
|
||||
keya: 39 keyb: 206
|
||||
keya: 41 keyb: 4
|
||||
keya: 43 keyb: 58
|
||||
keya: 45 keyb: 112
|
||||
keya: 47 keyb: 166
|
||||
keya: 49 keyb: 220
|
||||
keya: 51 keyb: 18
|
||||
keya: 53 keyb: 72
|
||||
keya: 55 keyb: 126
|
||||
keya: 57 keyb: 180
|
||||
keya: 59 keyb: 234
|
||||
keya: 61 keyb: 32
|
||||
keya: 63 keyb: 86
|
||||
keya: 65 keyb: 140
|
||||
keya: 67 keyb: 194
|
||||
keya: 69 keyb: 248
|
||||
keya: 71 keyb: 46
|
||||
keya: 73 keyb: 100
|
||||
keya: 75 keyb: 154
|
||||
keya: 77 keyb: 208
|
||||
keya: 79 keyb: 6
|
||||
keya: 81 keyb: 60
|
||||
keya: 83 keyb: 114
|
||||
keya: 85 keyb: 168
|
||||
keya: 87 keyb: 222
|
||||
keya: 89 keyb: 20
|
||||
keya: 91 keyb: 74
|
||||
keya: 93 keyb: 128
|
||||
keya: 95 keyb: 182
|
||||
keya: 97 keyb: 236
|
||||
keya: 99 keyb: 34
|
||||
keya: 101 keyb: 88
|
||||
keya: 103 keyb: 142
|
||||
keya: 105 keyb: 196
|
||||
keya: 107 keyb: 250
|
||||
keya: 109 keyb: 48
|
||||
keya: 111 keyb: 102
|
||||
keya: 113 keyb: 156
|
||||
keya: 115 keyb: 210
|
||||
keya: 117 keyb: 8
|
||||
keya: 119 keyb: 62
|
||||
keya: 121 keyb: 116
|
||||
keya: 123 keyb: 170
|
||||
keya: 125 keyb: 224
|
||||
keya: 127 keyb: 22
|
||||
keya: 129 keyb: 76
|
||||
keya: 131 keyb: 130
|
||||
keya: 133 keyb: 184
|
||||
keya: 135 keyb: 238
|
||||
keya: 137 keyb: 36
|
||||
keya: 139 keyb: 90
|
||||
keya: 141 keyb: 144
|
||||
keya: 143 keyb: 198
|
||||
keya: 145 keyb: 252
|
||||
keya: 147 keyb: 50
|
||||
keya: 149 keyb: 104
|
||||
keya: 151 keyb: 158
|
||||
keya: 153 keyb: 212
|
||||
keya: 155 keyb: 10
|
||||
keya: 157 keyb: 64
|
||||
keya: 159 keyb: 118
|
||||
keya: 161 keyb: 172
|
||||
keya: 163 keyb: 226
|
||||
keya: 165 keyb: 24
|
||||
keya: 167 keyb: 78
|
||||
keya: 169 keyb: 132
|
||||
keya: 171 keyb: 186
|
||||
keya: 173 keyb: 240
|
||||
keya: 175 keyb: 38
|
||||
keya: 177 keyb: 92
|
||||
keya: 179 keyb: 146
|
||||
keya: 181 keyb: 200
|
||||
keya: 183 keyb: 254
|
||||
keya: 185 keyb: 52
|
||||
keya: 187 keyb: 106
|
||||
keya: 189 keyb: 160
|
||||
keya: 191 keyb: 214
|
||||
keya: 193 keyb: 12
|
||||
keya: 195 keyb: 66
|
||||
keya: 197 keyb: 120
|
||||
keya: 199 keyb: 174
|
||||
keya: 201 keyb: 228
|
||||
keya: 203 keyb: 26
|
||||
keya: 205 keyb: 80
|
||||
keya: 207 keyb: 134
|
||||
keya: 209 keyb: 188
|
||||
keya: 211 keyb: 242
|
||||
keya: 213 keyb: 40
|
||||
keya: 215 keyb: 94
|
||||
keya: 217 keyb: 148
|
||||
keya: 219 keyb: 202
|
||||
keya: 223 keyb: 54
|
||||
keya: 225 keyb: 108
|
||||
keya: 227 keyb: 162
|
||||
keya: 229 keyb: 216
|
||||
keya: 231 keyb: 14
|
||||
keya: 233 keyb: 68
|
||||
keya: 235 keyb: 122
|
||||
keya: 237 keyb: 176
|
||||
keya: 239 keyb: 230
|
||||
keya: 241 keyb: 28
|
||||
keya: 243 keyb: 82
|
||||
keya: 245 keyb: 136
|
||||
keya: 247 keyb: 190
|
||||
keya: 249 keyb: 244
|
||||
keya: 251 keyb: 42
|
||||
keya: 253 keyb: 96
|
||||
keya: 255 keyb: 150
|
||||
128
keyoutspace
128
keyoutspace
@@ -1,128 +0,0 @@
|
||||
keya: 1 keyb: 138
|
||||
keya: 3 keyb: 74
|
||||
keya: 5 keyb: 10
|
||||
keya: 7 keyb: 202
|
||||
keya: 9 keyb: 138
|
||||
keya: 11 keyb: 74
|
||||
keya: 13 keyb: 10
|
||||
keya: 15 keyb: 202
|
||||
keya: 17 keyb: 138
|
||||
keya: 19 keyb: 74
|
||||
keya: 21 keyb: 10
|
||||
keya: 23 keyb: 202
|
||||
keya: 25 keyb: 138
|
||||
keya: 27 keyb: 74
|
||||
keya: 29 keyb: 10
|
||||
keya: 31 keyb: 202
|
||||
keya: 33 keyb: 138
|
||||
keya: 35 keyb: 74
|
||||
keya: 37 keyb: 10
|
||||
keya: 39 keyb: 202
|
||||
keya: 41 keyb: 138
|
||||
keya: 43 keyb: 74
|
||||
keya: 45 keyb: 10
|
||||
keya: 47 keyb: 202
|
||||
keya: 49 keyb: 138
|
||||
keya: 51 keyb: 74
|
||||
keya: 53 keyb: 10
|
||||
keya: 55 keyb: 202
|
||||
keya: 57 keyb: 138
|
||||
keya: 59 keyb: 74
|
||||
keya: 61 keyb: 10
|
||||
keya: 63 keyb: 202
|
||||
keya: 65 keyb: 138
|
||||
keya: 67 keyb: 74
|
||||
keya: 69 keyb: 10
|
||||
keya: 71 keyb: 202
|
||||
keya: 73 keyb: 138
|
||||
keya: 75 keyb: 74
|
||||
keya: 77 keyb: 10
|
||||
keya: 79 keyb: 202
|
||||
keya: 81 keyb: 138
|
||||
keya: 83 keyb: 74
|
||||
keya: 85 keyb: 10
|
||||
keya: 87 keyb: 202
|
||||
keya: 89 keyb: 138
|
||||
keya: 91 keyb: 74
|
||||
keya: 93 keyb: 10
|
||||
keya: 95 keyb: 202
|
||||
keya: 97 keyb: 138
|
||||
keya: 99 keyb: 74
|
||||
keya: 101 keyb: 10
|
||||
keya: 103 keyb: 202
|
||||
keya: 105 keyb: 138
|
||||
keya: 107 keyb: 74
|
||||
keya: 109 keyb: 10
|
||||
keya: 111 keyb: 202
|
||||
keya: 113 keyb: 138
|
||||
keya: 115 keyb: 74
|
||||
keya: 117 keyb: 10
|
||||
keya: 119 keyb: 202
|
||||
keya: 121 keyb: 138
|
||||
keya: 123 keyb: 74
|
||||
keya: 125 keyb: 10
|
||||
keya: 127 keyb: 202
|
||||
keya: 129 keyb: 138
|
||||
keya: 131 keyb: 74
|
||||
keya: 133 keyb: 10
|
||||
keya: 135 keyb: 202
|
||||
keya: 137 keyb: 138
|
||||
keya: 139 keyb: 74
|
||||
keya: 141 keyb: 10
|
||||
keya: 143 keyb: 202
|
||||
keya: 145 keyb: 138
|
||||
keya: 147 keyb: 74
|
||||
keya: 149 keyb: 10
|
||||
keya: 151 keyb: 202
|
||||
keya: 153 keyb: 138
|
||||
keya: 155 keyb: 74
|
||||
keya: 157 keyb: 10
|
||||
keya: 159 keyb: 202
|
||||
keya: 161 keyb: 138
|
||||
keya: 163 keyb: 74
|
||||
keya: 165 keyb: 10
|
||||
keya: 167 keyb: 202
|
||||
keya: 169 keyb: 138
|
||||
keya: 171 keyb: 74
|
||||
keya: 173 keyb: 10
|
||||
keya: 175 keyb: 202
|
||||
keya: 177 keyb: 138
|
||||
keya: 179 keyb: 74
|
||||
keya: 181 keyb: 10
|
||||
keya: 183 keyb: 202
|
||||
keya: 185 keyb: 138
|
||||
keya: 187 keyb: 74
|
||||
keya: 189 keyb: 10
|
||||
keya: 191 keyb: 202
|
||||
keya: 193 keyb: 138
|
||||
keya: 195 keyb: 74
|
||||
keya: 197 keyb: 10
|
||||
keya: 199 keyb: 202
|
||||
keya: 201 keyb: 138
|
||||
keya: 203 keyb: 74
|
||||
keya: 205 keyb: 10
|
||||
keya: 207 keyb: 202
|
||||
keya: 209 keyb: 138
|
||||
keya: 211 keyb: 74
|
||||
keya: 213 keyb: 10
|
||||
keya: 215 keyb: 202
|
||||
keya: 217 keyb: 138
|
||||
keya: 219 keyb: 74
|
||||
keya: 221 keyb: 10
|
||||
keya: 223 keyb: 202
|
||||
keya: 225 keyb: 138
|
||||
keya: 227 keyb: 74
|
||||
keya: 229 keyb: 10
|
||||
keya: 231 keyb: 202
|
||||
keya: 233 keyb: 138
|
||||
keya: 235 keyb: 74
|
||||
keya: 237 keyb: 10
|
||||
keya: 239 keyb: 202
|
||||
keya: 241 keyb: 138
|
||||
keya: 243 keyb: 74
|
||||
keya: 245 keyb: 10
|
||||
keya: 247 keyb: 202
|
||||
keya: 249 keyb: 138
|
||||
keya: 251 keyb: 74
|
||||
keya: 253 keyb: 10
|
||||
keya: 255 keyb: 202
|
||||
BIN
monkey.jpg
BIN
monkey.jpg
Binary file not shown.
|
Before Width: | Height: | Size: 177 KiB |
98
motsfreq.py
98
motsfreq.py
@@ -1,98 +0,0 @@
|
||||
""" Programme d'analyse des fréquences de mots dans un
|
||||
fichier de texte.
|
||||
Le programme affiche les mots par ordre décroissant
|
||||
de fréquence en indiquant pour chacun son nombre d'occurrences
|
||||
dans le fichier.
|
||||
|
||||
Uilisation :
|
||||
python mots-freq.py nomFichier
|
||||
|
||||
où nomFichier est le nom du fichier à analyser
|
||||
"""
|
||||
|
||||
|
||||
from __future__ import annotations
|
||||
import sys
|
||||
|
||||
|
||||
def getWords(text : str
|
||||
) -> list[str]:
|
||||
""" Découpe text en mots et renvoie la liste des mots.
|
||||
"""
|
||||
i = 0
|
||||
word = ''
|
||||
words = []
|
||||
while i < len(text):
|
||||
# words contient la liste des mots complets trouvés avant l'indice i de text.
|
||||
# word contient le mot en cours de lecture avant l'indice i de text.
|
||||
if text[i].isalpha():
|
||||
word = word + text[i]
|
||||
elif word != '':
|
||||
words.append(word)
|
||||
word = ''
|
||||
i = i + 1
|
||||
if word != '':
|
||||
words.append(word)
|
||||
word = ''
|
||||
return words
|
||||
|
||||
|
||||
def updateDict(wordDict : dict[str, int],
|
||||
words : list[str]
|
||||
) -> None:
|
||||
""" wordDict est un dictionnaire tel que
|
||||
* une clé est un mot
|
||||
* la valeur associée est la fréquence de ce mot.
|
||||
|
||||
Met à jour wordDict avec la liste de mots words.
|
||||
"""
|
||||
for word in words:
|
||||
if word in wordDict:
|
||||
freq = wordDict[word] + 1
|
||||
else:
|
||||
freq = 1
|
||||
wordDict[word] = freq
|
||||
|
||||
|
||||
def getWordsList(wordsFreq : dict[str, int]
|
||||
) -> list[tuple[str, list]]:
|
||||
""" Renvoie la liste de couples (mot, freq) de wordsFreq.
|
||||
Les couples sont triés par ordre décroissant de freq.
|
||||
"""
|
||||
wordsList = [(word, wordsFreq[word]) for word in wordsFreq]
|
||||
|
||||
# Tri la liste wordsList par ordre décroissant de freq.
|
||||
# Adaptation de l'algorithme du tri par insertion.
|
||||
k = 1
|
||||
while k < len(wordsList):
|
||||
i = k
|
||||
while i > 0 and wordsList[i - 1][1] < wordsList[i][1]:
|
||||
wordsList[i - 1], wordsList[i] = wordsList[i], wordsList[i - 1]
|
||||
i = i - 1
|
||||
k = k + 1
|
||||
return wordsList
|
||||
|
||||
|
||||
def printWords(wordsList : list[tuple[str, list]]
|
||||
) -> None:
|
||||
""" Écrit la liste de mots sur la sortie standard.
|
||||
"""
|
||||
for word, freq in wordsList:
|
||||
print(word, ' : ', freq)
|
||||
print('Nombre de mots : ', len(wordsList))
|
||||
|
||||
|
||||
|
||||
# PROGRAMME PRINCIPAL
|
||||
|
||||
filename = sys.argv[1]
|
||||
|
||||
fd = open(filename, 'r')
|
||||
wordsFreq = dict()
|
||||
for line in fd:
|
||||
words = getWords(line)
|
||||
updateDict(wordsFreq, words)
|
||||
fd.close()
|
||||
|
||||
wordsList = getWordsList(wordsFreq)
|
||||
printWords(wordsList)
|
||||
@@ -1 +0,0 @@
|
||||
1
|
||||
Reference in New Issue
Block a user