Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Prova Python sulle matrici, Prove d'esame di Fondamenti di informatica

Prova d'esame Python sulle matrici

Tipologia: Prove d'esame

2020/2021

Caricato il 29/04/2022

taytmaters
taytmaters 🇮🇹

18 documenti

1 / 4

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
AAAAXA
ABCDMA
XTGEAX
CVCRRC
RRTFCR
EAIIOE
provv = []
matrice = []
with open("file.txt") as file:
for linea in file:
linea = linea.strip().replace(" ", "")
# print(linea)
provv.append(linea)
for sub in provv:
matrice.append(list(sub))
# 1 vero o falso se è presente la parola "MARCO", in orizz o vert
def trascrivi(x):
t = str(x).replace(" ", "").replace("'", "").replace("[", "").replace("]", "").replace(",", "")
return t
marco = False
for linea in matrice:
testo = trascrivi(str(linea))
if "MARCO" in testo:
marco = True
inversa = [list(i) for i in zip(*matrice)]
for linea in inversa:
testo = trascrivi(str(linea))
if "MARCO" in testo:
pf3
pf4

Anteprima parziale del testo

Scarica Prova Python sulle matrici e più Prove d'esame in PDF di Fondamenti di informatica solo su Docsity!

AAAAXA

ABCDMA

XTGEAX

CVCRRC

RRTFCR

EAIIOE

provv = [] matrice = [] with open("file.txt") as file: for linea in file: linea = linea.strip().replace(" ", "")

print(linea)

provv.append(linea) for sub in provv: matrice.append(list(sub))

1 vero o falso se è presente la parola "MARCO", in orizz o vert

def trascrivi(x): t = str(x).replace(" ", "").replace("'", "").replace("[", "").replace("]", "").replace(",", "") return t marco = False for linea in matrice: testo = trascrivi(str(linea)) if "MARCO" in testo: marco = True inversa = [list(i) for i in zip(*matrice)] for linea in inversa: testo = trascrivi(str(linea)) if "MARCO" in testo:

marco = True with open("1.txt", "w", encoding = 'UTF-8') as ris: if marco: ris.write("MARCO è presente nella matrice.") else: ris.write("MARCO non è presente nella matrice.")

2 per ogni lettera stampare quante volte compare

lettere = {} for linea in matrice: testo = trascrivi(str(linea)) for lettera in testo: if lettera not in lettere: lettere[lettera] = 0 for l in lettere: lettere[l] += testo.count(l) with open("2.txt", "w") as ris: for k, v in sorted(lettere.items(), key=lambda item: item[1], reverse=True): ris.write(k + ": " + str(v) + "\n")

3 trovare se ci sono colonne che si ripetono uguali e stamparle

punto3 = [] for r in inversa: for i in range(len(r)): if r == inversa[i] and inversa.index(r) != i and r not in punto3:

print(str(r) + "è duplicata")

punto3.append(r) with open("3.txt", "w") as ris: ris.write("Le colonne che si ripetono uguali sono:\n") for i in punto3: ris.write(str(i) + "\n")

4 trascrivi testo ottenuto leggendo il quadrato più esterno in senso orario

punto4 = ""

diagonali = [] for i in range(len(matrice)): diagonali.append([])

for j in range(len(matrice)):

print(str(i) + str(j), " ", end="")

print()

for i in range(len(matrice)): for j in range(len(matrice)):

print(abs(i-j))

if i <= j: diagonali[int(abs(i - j))].append(matrice[i][j]) for i in range(len(matrice)): for j in range(len(matrice)):

print(abs(i-j))

if i > j: diagonali[int(abs(i - j))].append(matrice[i][j]) for linea in diagonali: testo = trascrivi(linea)

print(testo)

if "MARCO" in testo: conta_marco += 1

print(testo[::-1])

if "MARCO" in testo[::-1]: conta_marco += 1

se voglio fare anche le diagonali da sx a dx nota che la somma degli indici

mi da sempre una costante

with open("5.txt", "w") as ris: ris.write("La parola 'MARCO' compare un totale di " + str(conta_marco) + " volte.")