8.9 每日课后作业系列之进度条 and 验证码

# 今日作业:
# 1.掌握课堂案例:验证码
import random
import timesq
# def make_code(i):
# res = ""
# for j in range(i):
# # 随机0到9
# num = str(random.randint(0,9))
# c = chr(random.randint(65,90))
# s = random.choice([num,c])
# res += s
# return res
#
# def suiji():
# res=''
# for j in range(6):
# num=str(random.randint(0,9))
# s=random.choice(num)
# res+=s
# return res

def suiji():
res=''
for i in range(6):
num=str(random.randint(0,9))
s=random.choice(num)
res+=s
return res
# print(suiji(6))
# 2.掌握课堂案例:进度条
import time
def jindutiao(baifenbi,kuandu=20):
if baifenbi>=1:
baifenbi=1
zhanshitiao=('[%%-%ds]'%kuandu)%(int(kuandu*baifenbi)*'$')
print((' %s %d%%'%(zhanshitiao,int(100*baifenbi))),end='')
xiazai_size=10250
zhenzai_size=0
while True:
time.sleep(2)
zhenzai_size+=1024
jindutiao(zhenzai_size/xiazai_size)
if xiazai_size<=zhenzai_size:
print()
print('下载完成')
break
import time
def jingdutiao(baifenbi,kuandu=20)
if baifenbi>=1:
baifenbi=1
zhanshitiao=('[%%-%ds]'%kuandu)%int(((kuandu*baifenbi))*'$')
print(('%s %d%%')%(zhanshitiao,int(100*baifenbi)),end='')
xiazai_size=10250
zhenzai_size=0
while True:
time.sleep(2)
zhenzai_size+=1024
jindutiao(zhenzai_size/xiazai_size)
if xiazai_size<=zhenzai_size:
print()
print('下载完成')
break
import time
def jindutiao(baifenbi,kuandu=20)
if baifenbi>=1:
baifenbi=1
zhanshitiao=('[%%-%ds]'%kuandu)%(int(kuandu*baifenbi)*'@')
print(('%s %d%%')%(zhanshitiao,int(100*baifenbi)),end='')
xiazai_size=10250
zhenzai_size=0
while True:
time.sleep(2)
zhenzai_size+=1024
jindutiao(zhenzai_size/xiazai_size)
if xiazai_size<=zhenzai_size:
print()
print('下载完成')
break





# 扩展:
# 3.控制台模拟发送验证码
# 提示:
# 1)验证码为6位纯数字
# 2)两次获取的间隔为60s
# 3)倒计时为一秒减一次
# 4)流程中的?是实际数字,#为临时填充字符
# 流程:
# 1)控制台提示用户是否发送验证码[1:是 0:否]
# get_num=input('是否发送验证码[1:是 0:否]:').strip()
# if get_num=='1':
# print("验证码发送成功")
# time.sleep(3)
# suiji()
# print(suiji())
# else:
# print('取消发送')

# 2)取消发送验证码则提示"取消发送"并直接退出程序
# 3)发送成功后,提示用户"验证码发送成功",但3s后才可以获取到验证码
# 4)一旦发送成功后,控制台会刷新打印倒计时多少秒后可以重新发送验证码
# 5)未接收到验证码的前3s,控制台刷新打印的内容是:验证码:######,?s后可以重新发送
# 6)验证码获取后,5中的打印内容会替换为:验证码:??????,?s后可以重新发送
# 7)只有等"?s后可以重新发送"的?从60变到0,才可以重新执行整个过程
原文地址:https://www.cnblogs.com/Maikes/p/9459207.html