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

Pagina: 1 2 Avanti

Buongiorno, stavo sistemando un po' il codice che mostra le caratteristiche del persomaggup e mi sono accorto che creando una sorta di tabella con i caratteri ASCII nn rimangono bloccati se la variabile scritta prima aumentata di 2-3 caratteri in più, come spiegazione nn e il massimo, metto la parte del codice così da farvi capire meglio...



def statistiche():

    os.system('clear')

    print('-'*80)

    print("|  @@@@@@@@@@@@")

    print("| @""      %s" % PlayerID.BC,"    @")

    print("|@     Bonus    @")

    print("| @ Competenza @")

    print("|  @@@@@@@@@@@@")

    print("|-------------------------------------------------------------------------")

    print("| Livello: %s" % PlayerID.level,"                          |"" Forza: %i" % PlayerID.forza,"                 #")

    print("| Esperienza: %i" % PlayerID.esp,"                                  |"" Destrezza: %i" % PlayerID.destrezza,"              #")

    print("|-------------------------------------------------|"" Costituzione: %i" % PlayerID.costituzione,"          #")

    print("| Arma equipaggiata: %s" % PlayerID.curarm,"             |"" Intelligenza: %i" % PlayerID.intelligenza,"          #")

    print("| Armatura equipaggiata: %s" % PlayerID.curarmatura,"                |"" Saggezza: %i" % PlayerID.saggezza,"              #")  

    print("| Attacco: %i" % PlayerID.attacco, "CA: %i" % PlayerID.CA,"                              |"" Carisma: %i" % PlayerID.carisma,"               #")

    print("|------------------------------------------------------------------------------#")

    print("| Oro: %d" % PlayerID.oro,"                                                                     #")

    print("|                                                                              #")

    print('-'*80)

Prendiamo come esempio la riga del livello se rimane con un livello che va da 1 a 9 va tutto bene, quando passo al livello 10 o più la frase della forza si sposta piua destra, è possibile bloccare la riga della forza in modo che rimanga incolonnato con il resto? Ho cercato con Google ma nn ho trovato niente





--- Ultima modifica di erik84 in data 2019-02-20 11:48:57 ---
ma stai parlando dei valori numerici che se superano il 9 diventano doppia cifra e quindi ti si sposta più a destra?

beh se è questo, credo sia normale non trovi? hai provato a cercare formattazione delle strighe?

tipo serve a convertire 3 in "003" o " 3" mentre 10 in "010" o " 10"



--- Ultima modifica di pypy in data 2019-02-20 12:13:02 ---
Nn mi e molto chiaro sinceramente, sono andato a cercare formattazione delle stringhe, farò delle prove per vedere come si comporta e cosa capisco, ma gli zeri prima del numero rimangono sempre visibili nn si possono nascondere?



E mi succede anche con le parole, tipo nellesemnell che ho postato nn cec ma avevo caricato anche il nome che il giocatore assegna al proorpr personaggio, e se un nome è corto ho una lunghezza quindi il simbolo finale è ad una distanza se il nome è piu lungo il simbolo finale si sposta ulteriormente è possibile fare la stessa cosa?
prova con "rjust"
https://docs.python.org/2/library/string.html
(per la versione 2.x)

'{:>30}'.format('right aligned')
https://docs.python.org/3/library/string.html
(per la versione 3.x)

nel tuo caso dovrebbero andare bene entrambe


--- Ultima modifica di pypy in data 2019-02-20 17:57:04 ---
ho usato la seconda versione, ho scritto una cosa del genere
 '{:>30}'.format("| Livello: %s" % PlayerID.level,"                          |"" Forza: %i" % PlayerID.forza,"                 #")
ma elimina completamente tutta la riga senza mostrare nulla, cos'ho sbagliato? :sarcastic:
quello era l'esempio che trovavi nel link che ti ho postato (che non credo che hai letto giusto?)

ovviamente lo devi modificare secondo le tue necessità che però non si sanno quale sono???

se leggi prima il link per vedere come funzionano i comandi e ti fai un'idea di come usarli? trovi?

no avevo letto tutta la pagina, ma ero convinto anche dopo aver letto l'esempio e aver cercato esempi di quel comando su google che mi bastava mettere tra parentesi l'intera riga
no avevo letto tutta la pagina, ma ero convinto anche dopo aver letto l'esempio e aver cercato esempi di quel comando su google che mi bastava mettere tra parentesi l'intera riga
bene, quindi alla fine cos'hai capito di quello che hai letto?
Al momento ho capito solo che quello che scrivo tra parentesi tonda e quello che poi mi stampa sulla riga del programma, quello che scrivo tra parentesi graffa possono essere l'ordine distampa delle parole scritte tra parentesi tonda e la posizione (sinistra, destra e centrale)
con la tua spiegazione non ci ho capito molto come anche la formattazione che vorresti dare nel codice che hai postato all'inizio


Pagina: 1 2 Avanti



Esegui il login per scrivere una risposta.