Forum >> Programmazione Python >> IDE ed Editor >> Bloccare caratteri ASCII

Pagina: Indietro 1 2

Ho provato a fare 2 immagini di come dovrebbe essere e incolonanto e tutto in ordine, mentre nella seconda foto si può vedere che se scrivo un nome al personaggio piú lungo e aumento il livello a 10 poi si spostano più a destra la voce forza e costituzione, a me sembra strano che non si possa mantenere lo stesso metodo di ordine della prima foto mettendo un nome più lungo di 4 caratteri e un livello più alto
beh se per questo sono errati anche la sezione "forza" ed due asterischi sopra comunque se continui a non trovare la soluzione come dicevo non hai compreso gli esempi dei link che ti ho postato.

'{:>30}'.format('right aligned')

in questa stringa ti viene detto che avrai un campo con la possibilità di inserire 30 caratteri ed il testo ti viene allineato a "destra"

quindi questo significa che: lo spazio disponibile è sempre 30 e che quindi se hai una dicitura di 25 caratteri ti rimangono altri 5 caratteri vuoti da poter inserire a sinistra

seguendo questa logica è facile intuire che nel tuo caso potresti creare due campi uno con circa 50 e l'altro con circa 30 caratteri entrambi allineati a sinistra

questo ti comporta che se i campi variabili tipo "livello" o "forza" diventano a doppia o tripla etc cifra a te non cambia nulla perchè le cifre si spostano a sinistra




ovviamente nel tuo caso solo quella stringa non va bene perchè ci sono delle scritte che non cambiano quindi la soluzione e tipo questa:

print('Livello:{:>20}'.format(i))

il print postato sopra dovrebbe far intendere che avrai stampato la scritta "Livello:" poi ti mette 20 spazi e nei 20 spazi ti inserisce il valore di "i" allineato a destra

come dicevo prima ora se "i" è a unica cifra ti troverai con 19 spazi e la singola cifra mentre se è a due cifre ti troverai con 18 spazi e la doppia cifra etc etc

credo che ora dovresti poter formattare le strighe nelle sezioni a tuo piacimento




ps non so se hai notato alla fine del codice hai "print('-'*80)" che ti ripete 80 volte "-" non credi che potrebbe essere comodo e anche meglio leggibile

il codice usando questo tipo di soluzione? per lo meno sai quanti segni trattini etc ti servono e diventa anche più pulito. poi a te la scelta ovviamente



--- Ultima modifica di pypy in data 2019-02-21 14:42:54 ---
io nn avevo capito quale esempio dovevo usare, la tua spiegazione mi sembra chiara, faccio un pò fatica a mettere insieme più variabili, perchè mi genera diversi errori in base a ciò che cambio, ma nn fa niente aggiro il problema mettendo 2 volte la funzione .format



grazie per la pazienza
se intendi 2 .format è proprio quello che ti conviene fare per semplificarti la vita

in questi casi non è sempre facile scrivere la sintassi giusta subito

quidi il mio consiglio è quello di inserire un argomento alla volta



Pagina: Indietro 1 2



Esegui il login per scrivere una risposta.