Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,747

    [python] output del testo che non scorra

    Ho fatto un programmino che ci può mettere parecchio tempo per completare quello che deve fare e mi piacerebbe visualizzare la percentuale di esecuzione.

    Come si fa a scrivere a schermo sempre nello stesso punto senza che le varie percentuali mi escano una dietro l'altra o vadano sempre a capo?
    Errare humanum est, perseverare ovest

  2. #2
    Puoi usare il carattere \r per tornare ad inizio riga e sovrascrivere quindi il testo appena scritto.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,747
    Quote Originariamente inviata da MItaly Visualizza il messaggio
    Puoi usare il carattere \r per tornare ad inizio riga e sovrascrivere quindi il testo appena scritto.
    non funziona
    Errare humanum est, perseverare ovest

  4. #4
    Vedere il codice.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,747
    Quote Originariamente inviata da MItaly Visualizza il messaggio
    Vedere il codice.
    import time
    x = 0
    while x < 10:
    x = x + 1
    time.sleep(.5)
    print x,'\r'

    import time
    x = 0
    while x < 10:
    x = x + 1
    time.sleep(.5)
    print '\r',x

    import time
    x = 0
    while x < 10:
    x = x + 1
    time.sleep(.5)
    a = str(x) + ' \r'
    print a

    Errare humanum est, perseverare ovest

  6. #6
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    print aggiunge un ritorno a capo. '\r' riporta il cursore all'inizio della riga, ma in seguito a '\n' è all'inizio di una nuova riga e perciò non ha alcun significato.
    Da notare è che comunque il funzionamento di '\r' dipende dalla shell che usi...
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  7. #7
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,747
    Credevo che la virgola alla fine togliesse l'invio a capo

    Quindi come si può fare?
    Errare humanum est, perseverare ovest

  8. #8
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  9. #9
    Non mettere il '\r' subito dopo aver stampato, ma prima di stampare.
    codice:
    import time
    import sys
    
    for x in range(1,11):
        print '\r', x,
        sys.stdout.flush()
        time.sleep(1)
    (tra parentesi, il tag per postare codice è CODE, non QUOTE)
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #10
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,747
    Quote Originariamente inviata da MItaly Visualizza il messaggio
    Non mettere il '\r' subito dopo aver stampato, ma prima di stampare.
    così il frenetico lampeggio e movimento del cursore peggiora

    (tra parentesi, il tag per postare codice è CODE, non QUOTE)
    non lo avessi saputo
    Errare humanum est, perseverare ovest

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.