找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 8773|回复: 0

电子屏字符循环播出 + python3 进度条打印

[复制链接]
发表于 2020-8-3 19:06:38 | 显示全部楼层 |阅读模式
本帖最后由 Gin_Q 于 2020-8-3 19:48 编辑
  1. // 设1个中文占2个字符
  2. // 电子屏字符循环播出
  3. #include <stdio.h>
  4. #include<windows.h>
  5. #define W 36    // 定义电子屏的宽度

  6. int main(void)
  7. {
  8.     static char str[100][3];
  9.     static char s[1024];
  10.     while (1)
  11.     {
  12.             printf("\r请输入字符串:");
  13.             scanf("%s",s);
  14.             system("cls");
  15.             if (s) break;
  16.            
  17.         }
  18.         register int i=0,j=0;
  19.         char *p = s;
  20.         for (i=0;*p;i++)
  21.         {
  22.                 p = s+i;
  23.                 if (*(s+i) < 0)
  24.                 {
  25.                         strncpy(str[j],p,2);
  26.                         j++;i++;
  27.                 }
  28.                 else
  29.                 {
  30.                         strncpy(str[j],p,1);
  31.                         j++;
  32.                 }
  33.         }

  34.     for (i=0; i<W; i++) if (! *str[i]) strcpy(str[i], " ");
  35.     for(i = 0;i<=W ;i++)
  36.     {
  37.                     printf("\r");
  38.             for(j=0;j < W;j++) printf("%s",*(str + (i + j) % W));
  39.             Sleep(100);
  40.             if (i==W) i=0;
  41.             //system("pause >nul");
  42.     }
  43.     return 0;
  44. }
复制代码
#python3
  1. '''
  2. @ 进度条打印
  3. '''

  4. #coding=utf-8

  5. from time import sleep
  6. from multiprocessing import Process,Queue

  7. q = Queue()

  8. ico = [
  9.     ['0%',''],
  10.     ['10%','X'],
  11.     ['20%','XX'],
  12.     ['30%','XXX'],
  13.     ['40%','XXXX'],
  14.     ['50%','XXXXX'],
  15.     ['60%','XXXXXX'],
  16.     ['70%','XXXXXXX'],
  17.     ['80%','XXXXXXXX'],
  18.     ['90%','XXXXXXXXX'],
  19.     ['100%\n','XXXXXXXXXX'],
  20.     ]

  21. def run(q):
  22.     while True:
  23.         if not q.empty():
  24.             t = q.get()
  25.             if t == None: break
  26.             print('\r{:<10}{}'.format(t[1],t[0]),end='',flush=True)
  27.    
  28.    
  29. if __name__ == "__main__":
  30.     n = 0
  31.     arr = []
  32.     p = Process(target=run,args=(q,))
  33.     p.start()
  34.     print('开始计算 1 累加到 10 :')
  35.     for i in range(11):
  36.         n += i
  37.         q.put(ico[i])
  38.         sleep(0.2)
  39.     q.put(None)
  40.     p.join()
  41.     print('计算 1 累加到 10 完成:{}'.format(n))
  42.    
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 06:43 , Processed in 0.015887 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表