当前位置: 首页 > news >正文

打印进度条

文章目录

    • 1.Python语言实现
      • (1)黑白色
      • (2)彩色:蓝色
    • 2.C++语言实现
      • (1)黑白颜色
      • (2)彩色版:红绿色

1.Python语言实现

(1)黑白色

在这里插入图片描述


import sys
import timedef progress_bar(percentage, width=50):"""打印进度条:param percentage: 当前进度百分比 (0-100):param width: 进度条的宽度,默认是50字符"""completed = int(width * (percentage / 100))              #已完成部分remaining = width - completed                            #未完成部分bar = f"[{'#' * completed}{'.' * remaining}]"sys.stdout.write(f"\rProgress: {percentage:3d}% {bar}")  #动态刷新行sys.stdout.flush()                                       #※实现动态更新,不换行输出# 模拟进度条运行
for i in range(101):    #0%到100%progress_bar(i)     #更新进度条time.sleep(0.05)    #模拟延迟print("\nDone!")        #结束后换行

(2)彩色:蓝色

在这里插入图片描述
在这里插入图片描述

import sys
import timedef progress_bar(percentage, width=50):"""打印进度条:param percentage: 当前进度百分比 (0-100):param width: 进度条的宽度,默认是50字符"""completed = int(width * (percentage / 100))  # 已完成部分remaining = width - completed                # 未完成部分# 进度条的蓝色部分blue = "\033[34m"reset = "\033[0m"bar = f"[{blue}{'#' * completed}{reset}{'.' * remaining}]"sys.stdout.write(f"\rProgress: {percentage:3d}% {bar}")  # 动态刷新行sys.stdout.flush()  # ※实现动态更新,不换行输出# 模拟进度条运行
for i in range(101):  # 0%到100%progress_bar(i)    # 更新进度条time.sleep(0.05)   # 模拟延迟print("\nDone!")       # 结束后换行




2.C++语言实现

(1)黑白颜色

在这里插入图片描述
在这里插入图片描述


#include <iostream>
#include <thread>  //用于 sleep_for
#include <chrono>  //用于时间延迟
using std::cout;
using std::endl;void progressBar(int percentage, int width = 50) {int completed = (percentage * width) / 100; //已完成部分的宽度int remaining = width - completed;          //未完成部分的宽度cout << "\rProgress: ["; // \r 回到行首,覆盖之前的内容for (int i = 0; i < completed; ++i) {cout << "#"; // 已完成部分}for (int i = 0; i < remaining; ++i) {cout << "."; // 未完成部分}cout << "] " << percentage << "%"; // 输出百分比cout.flush(); // 刷新输出流
}int main() {for (int i = 0; i <= 100; ++i) { // 模拟进度从0%到100%progressBar(i);              // 更新进度条std::this_thread::sleep_for(std::chrono::milliseconds(50)); // 模拟延迟}cout << endl << "Done!" << endl; // 进度完成后换行return 0;
}

(2)彩色版:红绿色

在这里插入图片描述

在这里插入图片描述

#include <iostream>
#include <thread>  //用于 sleep_for
#include <chrono>  //用于时间延迟
using std::cout;
using std::endl;void progressBar(int percentage, int width = 50) {int completed = (percentage * width) / 100; //已完成部分的宽度int remaining = width - completed;          //未完成部分的宽度cout << "\rProgress: ["; // \r 回到行首,覆盖之前的内容// 已完成部分,使用绿色cout << "\033[32m";for (int i = 0; i < completed; ++i) {cout << "#"; // 已完成部分}// 未完成部分,使用红色cout << "\033[31m";for (int i = 0; i < remaining; ++i) {cout << "."; // 未完成部分}// 重置颜色并输出百分比cout << "\033[0m] " << percentage << "%"; // 输出百分比cout.flush(); // 刷新输出流
}int main() {for (int i = 0; i <= 100; ++i) { // 模拟进度从0%到100%progressBar(i);              // 更新进度条std::this_thread::sleep_for(std::chrono::milliseconds(50)); // 模拟延迟}cout << endl << "Done!" << endl; // 进度完成后换行return 0;
}

http://www.mrgr.cn/news/82007.html

相关文章:

  • 机器学习 学习知识点
  • Unity 实现Canvas显示3D物体
  • Mybatis02
  • 代码随想录算法训练营第二十二天-回溯算法-理论基础
  • LUA基础语法
  • 表单元素(标签)有哪些?
  • vue下载和上传的地址动态ip地址配置方法
  • sentinel-请求限流、线程隔离、本地回调、熔断
  • SAP SD信贷管理后台配置(上)
  • (一)开发环境搭建以及配置
  • K8S-LLM:用自然语言轻松操作 Kubernetes
  • [创业之路-225]:《华为闭环战略管理》-4-华为的商业智慧:在价值链中探索取舍之道与企业边界
  • 2024年中国新能源汽车用车发展怎么样 PaperGPT(二)
  • 论文笔记PhotoReg: Photometrically Registering 3D Gaussian Splatting Models
  • HAL 库句柄
  • uniapp 微信小程序开发使用高德地图、腾讯地图
  • 数学概念2
  • 细说STM32F407单片机CAN基础知识
  • (二)当人工智能是一个函数时,怎么去训练它?
  • CGAL windows 安装教程
  • 大厂高频总线协议面试题及参考答案(几百家面试题挑选最高频精华)
  • 斗鱼Android面试题及参考答案
  • MOS管驱动方案汇总
  • Unity设置中文
  • PHP框架+gatewayworker实现在线1对1聊天--gatewayworker说明(2)
  • 使用 commitlint 和 husky 检查提交描述是否符合规范要求