Open notedo opened 7 months ago
# %% ----------------------------------- FUNC1 ------------------------- #
def func1(string_list, word):
count = 0
i = 0
while i < len(string_list):
if word in string_list[i]:
string_list.remove(string_list[i])
count+=1
else:
i += 1
return count
# %% ----------------------------------- FUNC2 ------------------------- #
def func2(pathname):
dizionario = {}
with open(pathname, 'r', encoding='utf-8') as f:
for line in f:
lista = line.replace('\n', '').split(',')
if lista[1] not in dizionario:
dizionario[lista[1]] = int(lista[0])
else:
if int(dizionario[lista[1]]) < int(lista[0]):
dizionario[lista[1]] = int(lista[0])
return dizionario
# %% ----------------------------------- FUNC3 ------------------------- #
def func3(listaA, pathname):
listaA.sort(key=lambda x: (-len(x), x), reverse=True)
count = 0
with open(pathname, "w", encoding='utf-8') as f:
for word in listaA:
count += len(word)
f.write(word+'\n')
return count
# %% ----------------------------------- FUNC4 ------------------------- #
def func4(S):
testo = S.lower()
newS = ''
for c in testo:
if c.isalpha():
newS += c
else:
newS += ' '
Sfinale = newS.split()
Sfinale.sort(key=lambda x: x)
frequenza = {}
for el in Sfinale:
if el not in frequenza:
frequenza[el] = 1
else:
frequenza[el] += 1
Sdef = ''
maxLen = max(len(word) for word in Sfinale)
for p in frequenza:
Sdef += p + (' '*(maxLen-len(p)+1)) + '*'*frequenza[p]+ '\n'
return Sdef
# %% ----------------------------------- FUNC5 ------------------------- #
import images
def func5(img, output_file_name):
H, W = len(img), len(img[0])
rot = []
for c in range(W):
col = []
for r in reversed(range(H)):
col.append(img[r][c])
rot.append(col)
images.save(rot, output_file_name)
return H, W
# %% ----------------------------------- EX.1 ------------------------- #
import os
def ex1(root, dizionario = None):
if dizionario == None:
dizionario = {}
stringa = ''
for nome in sorted(os.listdir(root)):
fullname = root + '/' + nome
if nome.endswith('.txt'):
with open(fullname, 'r', encoding='utf-8') as f:
for line in f:
lista = line.split()
for el in lista:
stringa += chr(int(el))
dizionario[root] = stringa
elif os.path.isdir(fullname):
ex1(fullname, dizionario)
return dizionario
# %% ----------------------------------- EX.2 ------------------------- #
def ex2(nums, ops):
if len(nums) == 1:
return nums
totale = set()
for num in nums:
comb = ex2(nums-{num}, ops)
for el in comb:
for segno in ops:
totale.add(str(num)+segno+str(el))
return totale