Python implémente le pourcentage de progression de l'exécution du programme de sortie

巴扎黑
Libérer: 2017-09-18 10:18:35
original
2090 Les gens l'ont consulté

Cet article présente principalement la méthode Python pour implémenter le pourcentage de progression de l'exécution du programme de sortie, impliquant des opérations numériques Python et des compétences opérationnelles liées à la sortie système. Les amis dans le besoin peuvent s'y référer

L'exemple de cet article raconte. l'implémentation Python de la méthode du programme de sortie pour exécuter le pourcentage de progression. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Pour certains grands programmes Python, nous devons afficher le pourcentage sur la ligne de commande pour paraître plus convivial, afin d'éviter d'être mal compris que le programme est coincé dans une boucle infinie ou une animation suspendue.
La clé est d'utiliser le caractère de sortie r sans sauts de ligne. La sortie de r écrasera directement le contenu de cette ligne.

Par exemple, le programme suivant est un processus dans lequel i est augmenté de 0 à 100 000. Même pour le processeur hautes performances d'aujourd'hui, cela prend plusieurs secondes. Si nous voulons afficher le pourcentage d'exécution, nous pouvons. Après avoir introduit le package sys, la sortie sys.stdout.write est utilisée pour éviter que le n fourni avec l'impression originale n'affecte la situation globale. Dans le même temps, la décimale du pourcentage doit être contrôlée à 4. Le pourcentage d’exécution du programme est exactement la valeur actuelle de i divisée par le total, qui vaut cent mille.


#-*-coding:utf-8-*-
import sys;
total=100000
for i in range(0,total):
  percent=float(i)*100/float(total)
  sys.stdout.write("%.4f"%percent);
  sys.stdout.write("%\r");
  sys.stdout.flush();
sys.stdout.write("100%!finish!\r");
sys.stdout.flush();
Copier après la connexion

Le résultat d'exécution du programme est le suivant :

Cependant, à chaque fois que i est incrémenté ici, la valeur actuelle est requise. Le pourcentage d'exécution augmente les 100 000 opérations à virgule flottante d'origine à 200 000 fois et actualise l'écran 100 000 fois en même temps. Par conséquent, les améliorations suivantes peuvent être apportées au programme. Le pourcentage courant ne conserve que 2 décimales. En même temps, la sortie du pourcentage est effectuée chaque fois que j'accumule 100. Le programme est modifié comme suit :


#-*-coding:utf-8-*-
import sys;
total=100000
for i in range(0,total):
  if i%100==0:
    percent=float(i)*100/float(total)
    sys.stdout.write("%.2f"%percent);
    sys.stdout.write("%\r");
    sys.stdout.flush();
sys.stdout.write("100%!finish!\r");
sys.stdout.flush();
Copier après la connexion

. La condition de calcul du pourcentage d'exécution passe de 100 000 opérations à virgule flottante à 100 000 fois le calcul, en actualisant seulement l'écran 1 000 fois, la durée d'exécution du programme sera considérablement réduite.

En même temps, il convient de noter ici que la console dans Pydev dans Eclipse traite toujours r comme un caractère de nouvelle ligne, ce qui donne à la sortie l'apparence suivante. Il n'y a aucun moyen ici !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!