码迷,mamicode.com
首页 > 其他好文 > 详细

day19 进度条 & 随机验证码

时间:2018-06-21 21:08:55      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:传值   验证   一个   idt   progress   sleep   进度条   code   ret   

一、解决进度条的宽度

1 print(%-50s  %>)  #左对齐,宽度为50
2 
3 print(%-%ds  %50)   # d 先被传值,此时 s 还未传值
4 
5 print(%s%%  %50)   # s 后第一个 % 是取消掉后面一个 % 的意义
6 
7 此时,若需取消 print(%-%ds  %50) 中第一个 % 的意义,可以在其旁边再加一个%,形式为print(%%-%ds %50),
8 其结果为  %-50s  ,继续为 s 传值,就是  %-50s %">",此时进度条的宽度问题就解决了

 

二、不换行+跳到行首打印

1 import time
2 time.sleep(1)
3 print((\r %%-ds %50) %> ,end= )   # \r 将光标移至行首,end=‘ ‘ 控制光标不换行
4 time.sleep(1)
5 print((\r %%-ds %50) %>> ,end= )   # \r 将光标移至行首,end=‘ ‘ 控制光标不换行

三、最终结果

import time
def make_progress(percent,width=80):
  if percent>1:percent=1  # 百分比有可能超过1(假如当total_size=1235,recv_size=1234时,第一次传输时没有问题,第二次传输时,百分比就超过1了)
  # 输出的字符串
  show_str=(%%-%ds %width) % (int(percent*width)* >)     # 根据已下载的百分比进行打印
  print(\r%s %s%% %(show_str,int(percent * 100)),end=" ")

total_size=123456
recv_size=0
while recv_sie<total_size:
  time.sleep(0.1)
  recv_size+=1234
  percent=recv_size/total_size
  # 调用进度条功能去打印进度条(进度条应该根据下载的百分比来改变)
  make_progress(percent)

 四、随机验证码(数字+大写字母)

 1 import random
 2 def ver(n):
 3   res=""
 4   for i in range(n):  
 5     # 循环一次得到一个随机字符(数字或者字母)
 6     s=chr(random.randint(65,90))
 7     num=str(random.randint(0,9))   # TypeError: must be str, not int
 8     res+=random.choice([s,num])
 9   return res
10 res=ver(n)  # n 传入具体数字,可随机生成n位数的验证码
11 print(res)

 

day19 进度条 & 随机验证码

标签:传值   验证   一个   idt   progress   sleep   进度条   code   ret   

原文地址:https://www.cnblogs.com/Smart1san/p/9210737.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!