打印进度条

文章目录

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

1.Python语言实现

(1)黑白色

在这里插入图片描述


import sys
import time

def 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 time

def 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;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/945407.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Fiddler断点(拦截)--篡改请求后或者响应前数据

目录 一、断点介绍 图例 简单介绍&#xff1a; 详细介绍&#xff1a; 二、操作步骤 文章操作资源下载 (一)设置要抓包的地址 (二)全局拦截(断点) 1.请求后拦截&#xff08;Before Request&#xff09; 解开拦截 2.响应前拦截&#xff08;After Responses&#xff…

【ArcGIS Pro/GeoScene Pro】可视化时态数据

可视化过去二十年新西兰国际旅游业的发展变化 工程数据下载 ArcGIS Pro 快速入门指南—ArcGIS Pro | 文档 添加数据 数据为中国旅客数据 转置表字段 列数据转行数据

【基础篇】三、MySQL表结构的操作

文章目录 Ⅰ. 创建表1、语法2、创建表样例3、创建和其它表一样结构的表 Ⅱ. 查看表结构1、查看数据库中的表2、查看指定表的属性3、获取表的创建语句 Ⅲ. 删除表Ⅳ. 修改表结构1、向表中插入新的字段2、删除表中的字段3、修改表名4、修改字段属性 Ⅰ. 创建表 1、语法 create …

小程序租赁系统开发的优势与应用探索

内容概要 在如今这个数码科技飞速发展的时代&#xff0c;小程序租赁系统开发仿佛是一张神奇的魔法卡&#xff0c;能让租赁体验变得顺畅如丝。想象一下&#xff0c;无论你需要租用什么&#xff0c;从单车到房屋&#xff0c;甚至是派对用品&#xff0c;只需动动手指&#xff0c;…

ArcGIS教程(009):ArcGIS制作校园3D展示图

文章目录 数据下载校园3D展示图制作创建要素类矢量化【楼】要素矢量化【绿地】矢量化【范围】矢量化处理打开ArcScene添加动画数据下载 https://download.csdn.net/download/WwLK123/90189025校园3D展示图制作 创建要素类 添加底图: 新建【文件地理数据库】,并修改名称为【…

Secured Finance 与 Parasail 在流动性质押领域开展合作

Secured Finance 宣布与 Parasail 达成战略合作&#xff0c;标志着生态在推进 DePIN 及人工智能生态系统能力的重要里程碑。此次合作将 Parasail 卓越的质押方案与 Secured Finance 在去中心化贷款和稳定币协议方面的专业能力相结合&#xff0c;为 Filecoin 生态系统内的创新金…

pytorch基础之注解的使用--003

Title 1.学习目标2.定义3.使用步骤4.结果 1.学习目标 针对源码中出现一些注解的问题&#xff0c;这里专门写一篇文章进行讲解。包括如何自定义注解&#xff0c;以及注意事项&#xff0c;相信JAVA中很多朋友业写过&#xff0c;但是今天写的是Python哦。。。 2.定义 在 Python…

!倒序数 !

时间限制&#xff1a;C/C 1000MS&#xff0c;其他语言 2000MS 内存限制&#xff1a;C/C 256MB&#xff0c;其他语言 512MB 难度&#xff1a;中等 分数&#xff1a;100 OI排行榜得分&#xff1a;12(0.1*分数2*难度) 描述 输入一个非负整数&#xff0c;输出这个数的倒序数。例如…

【Redis】Redis 典型应用 - 缓存 (cache)

目录 1. 什么是缓存 2. 使用 Redis 作为缓存 3. 缓存的更新策略 3.1 定期生成 3.2 实时生成 4. 缓存的淘汰策略 5. 缓存预热, 缓存穿透, 缓存雪崩 和 缓存击穿 关于缓存预热 (Cache preheating) 关于缓存穿透 (Cache penetration) 关于缓存雪崩 (Cache avalanche) 关…

《燕云十六声》d3dcompiler_47.dll缺失怎么解决?

一、d3dcompiler_47.dll缺失的原因 系统更新或升级&#xff1a;Windows系统的更新可能会更改或删除某些旧版本的DirectX组件&#xff0c;包括d3dcompiler_47.dll。游戏安装不完整&#xff1a;游戏安装过程中可能出现中断或错误&#xff0c;导致某些必要的文件未能正确安装。软…

RT-Thread中堆和栈怎么跟单片机内存相联系

现在RT-ThreadMCU的应用方式越来越普遍&#xff0c;RT-Thread需要配置MCU中的RAM到的系统中&#xff0c;进入系统内存管理&#xff0c;才能提供给基于实时系统的应用程序使用&#xff0c;比如给应用程序提供malloc、free等函数调用功能。在嵌入式软件开发中&#xff0c;我们经常…

Qt https请求报错SSL handshake failed 解决思路方法

先执行下面代码 qDebug() << manager.supportedSchemes();bool bSupp QSslSocket::supportsSsl();auto buildVersion QSslSocket::sslLibraryBuildVersionString();QString version QSslSocket::sslLibraryVersionString();qInfo() << bSupp << buildVers…

从CW32L010看HAL库封装方式

原文地址&#xff1a;从CW32L010看HAL库封装方式

锐捷WLAN产品出货量排名第一!

摘要:2024年Q3锐捷WLAN产品出货量排名第一!锐捷多形态Wi-Fi 7产品重磅出击! 近日, IT市场研究和咨询公司IDC发布《IDC中国企业级WLAN市场跟踪报告,2024年Q3》。报告显示,锐捷WLAN产品在2024年Q3出货量位居行业首位。至此,锐捷WLAN产品在2024年的Q1、Q2、Q3均实现了市场出货量的…

【Maven_bugs】The project main artifact does not exist

背景&#xff1a;我想使用 maven-shade-plugin 打一个 fat jar 时报了标题中的错误&#xff0c;使用的命令是&#xff1a;org.apache.maven.plugins:maven-shade-plugin:shade -pl :shade-project。项目结构如下图&#xff0c;我想把子模块 shade-project 打成一个 fat jar&…

React组件化开发

root.render 函数的参数是一个 HTML 元素或一个组件&#xff0c;所以可以将业务逻辑封装到一个组件中&#xff0c;然后传入到 ReactDOM.render 函数中的第一个参数。 在 react 中&#xff0c;可以使用类的方式封装组件&#xff1a; 定义一个类(类名大写&#xff0c;组件的名称…

《以太全光:依循标准规范,奏响医院网络建设 “光” 之乐章》

在当今数字化浪潮的席卷下,医疗行业正以前所未有的速度踏上智能化转型的征程。在这场变革中,网络架构作为支撑医疗行业的基础设施,扮演着至关重要的角色。那么,究竟哪种网络架构才是医疗行业网络建设的理想选择呢? 近期,住房城乡建设部发布的《综合医院建筑设计标准》给出了明…

【网络安全实验室】基础关实战详情

须知少时凌云志,曾许人间第一流 1.key在哪里 url&#xff1a;http://rdyx0/base1_4a4d993ed7bd7d467b27af52d2aaa800/index.php 查看网页源代码的方式有4种&#xff0c;分别是&#xff1a;1、鼠标右击会看到”查看源代码“&#xff0c;这个网页的源代码就出现在你眼前了&…

【Qt】容器控件、布局管理控件

目录 容器控件 QGroupBox QTabWidget 布局管理控件 QVBoxLayout 例子&#xff1a; QHBoxLayout 例子&#xff1a; QGridLayout 例子&#xff1a; 例子&#xff1a; QFormLayout 例子&#xff1a; QSpacerItem 例子&#xff1a; 容器控件 QGroupBox 表示一个带有…

Lucene 漏洞历险记:修复损坏的索引异常

作者&#xff1a;来自 Elastic Benjamin Trent 有时&#xff0c;一行代码需要几天的时间才能写完。在这里&#xff0c;我们可以看到工程师在多日内调试代码以修复潜在的 Apache Lucene 索引损坏的痛苦。 做好准备 这篇博客与往常不同。它不是对新功能或教程的解释。这是关于花…