Do you need any help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2021-22 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 2021-22 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.

VIDEOLEZIONI DEL CORSO DI FONDAMENTI DI PROGRAMMAZIONE AA20-21

PROGRAMMING COURSE VIDEOCONFERENCES AY20-21

linee verticali es3 hw4

e
el_libregome (870 points)
1 30 43
asked Jan 8, 2019 in Es3 by el_libregome (870 points)
recategorized Jan 9, 2019 by andrea.sterbini
ho quasi ultimato l'esercizio 3 dell hw 4,ma ho difficoltà a creare i collegamenti verticali: qualche suggerimento?

inoltre potreste dirmi come ricavarmi il nome singolo della directory dal nome completo?

grazie mille
215 views

5 Answers

v
val9 (9770 points)
0 28 53
answered Jan 8, 2019 by val9 (9,770 points)
1) per ricavarti il nome a partire dal percorso puoi usare la funzione os.path.basename()

2) per tracciare le linee verticali puoi memorizzarti le coordinate del primo figlio che tracci e  quelle dell'ultimo.  Stabilisci la colonna, a partire dal 6° px di collegamento orizzontale al 1° figlio. Sapendo colonna, riga iniziale(primo figlio) e riga finale( ultimo figlio) puoi colorare  i px verticalmente.
e
el_libregome (870 points)
1 30 43
commented Jan 8, 2019 by el_libregome (870 points)
per il nome ho provato, e funziona alla grande, grazie mille

non ho capito bene per le linee verticali
v
val9 (9770 points)
0 28 53
commented Jan 8, 2019 by val9 (9,770 points)
se un nodo non è una foglia allora ci sono sicuramente 10px di collegamento al primo figlio. La colonna rappresenta il 6° px di questo collegamento principale. La prima "riga" da cui deve partire il collegamento verticale è il primo figlio (in realtà il secondo..il primo è già fatto in quanto ci sono i 10 px di collegamento..per semplicità consideriamo il primo) l'ultima "riga" è quella in cui si trova l'ultimo figlio del nodo. Per la prima "riga" basta conoscere la "riga" in cui si trova il nodo padre, per l'ultima, puoi usare una variabile per memorizzarti la "riga" in cui viene disegnato l'ultimo figlio.

Infine, sapendo queste info, te la puoi cavare con un semplice for e tutto è pronto
FrancescoMauto (1000 points)
1 13 20
commented Jan 9, 2019 by FrancescoMauto (1,000 points)
Ma come faccio a mantenere l'indice della riga del primo figlio?
v
val9 (9770 points)
0 28 53
commented Jan 9, 2019 by val9 (9,770 points)
è lo stesso che usi per disegnare il padre.
FrancescoMauto (1000 points)
1 13 20
commented Jan 9, 2019 by FrancescoMauto (1,000 points)
Grazie,ci sono riuscito poco fa,sbagliavo in una cosa stupidissima
a.capobianco1 (16770 points)
1 54 165
answered Jan 8, 2019 by a.capobianco1 (16,770 points)
Per estrapolare ultimo nome:
https://q2a.di.uniroma1.it/11200/dubbio-path-es3-hw4?course=es3%2Fhomework-4%2Fhomework%2Ffondamenti-di-programmazione-18-19&show=11214#c11214

Per linee verticali devi cominciare a scendere 15 px dopo inizio parola disegnata e disegni bianco fino alla riga dell'ultimo figlio.
g
gianluca (1270 points)
1 12 19
answered Jan 8, 2019 by gianluca (1,270 points)
per ogni figlio io imposto una distanza tra i vari 'fratelli' che poi vado a sommare alla y.poi dipende come hai impostato la funzione .cmq  richiamo una funzione per ogni figlio con coordinate ((la coordinata x del figlio)-5,il parametro dei fratelli) occhio a mettere la condizione per la radice...e coloro i pixel in verticale. per il nome singolo puoi usare: os.path.basename
e
el_libregome (870 points)
1 30 43
commented Jan 8, 2019 by el_libregome (870 points)
pensavo di considerare l'incremento con il numero di foglie presenti per 3
I
InnerAlbeiro (550 points)
0 2 7
answered Jan 8, 2019 by InnerAlbeiro (550 points)
per ricavere il nome singolo basta che fai os.path.basename()
c
cristian (2770 points)
0 17 29
answered Jan 8, 2019 by cristian (2,770 points)
Per il nome ti hanno risposto, per quanto riguarda i collegamenti verticali puoi usare questa formula  n+2*(n-1) dove n è il numero di foglie, mi spiego meglio con un esempio :nella caso della directory "\Informatica" la linea bianca da tracciare tra hardware e software è lunga n+2*(n-1) dove n è il numero di foglie di hardware. devi stare attento nel caso non abbia figli