Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

Possibilità di scorrere al contrario file di testo es.1 hw2

G
Giacomozm (1440 points)
19 59 68
in Es1 by (1.4k points)
mi chiedevo se fosse possibile scorrere un file di testo al contrario.
982 views
closed

2 Answers

Best answer
m
matteo.chiari (3650 points)
2 17 30
by (3.7k points)
edited by

EDIT: mi sembra corretto evidenziare che il professore sconsiglia questa soluzione per file di grandi dimensioni, probabilmente per motivi di performance.


Ciao

puoi usare il metodo file.readlines() per leggere il file in una lista di righe, dopodichè puoi girare al contario la lista ottenuta usando la slice [::-1] sulla lista.

Infine con un ciclo for puoi iterare la lista, effettivamente "leggendo" il file al contrario.

[1, 2, 3][::-1] >> [3, 2, 1]

G
Giacomozm (1440 points)
19 59 68
by (1.4k points)
grazie mille
andrea.sterbini (207940 points)
756 1270 2377
by (208k points)
Non ve lo consiglio se il file è molto grande
francesco.dev (33560 points)
22 51 129
by (33.6k points)
Ottima risposta :)
LeonardoEmili (35740 points)
14 65 155
by (35.7k points)

Ciao!

Se vuoi leggere un testo, dunque una stringa al contrario o utilizzi i vari reverse() oppure stringa[::-1], oppure puoi iterare partendo dalla fine del testo fino all'inizio.

Te ne descrivo la sintassi:

for i in range ( lunghezza della stringa -1, fino a -1, a passi di -1)

Spero di esserti stato d'aiuto! :)

Buona serata

Leonardo Emili

francesco.dev (33560 points)
22 51 129
by (33.6k points)
Bella risposta, voto :)