python03---第三章:基本数据类型(天天向上的力量、文本进度条)(time库)

第三章:基本数据类型(天天向上的力量、文本进度条)(time库)

一、天天向上的力量:

1.一年365天,一周5个工作日,如果每个工作日都很努力,可以提高1%,仅在周末两天放任一下,能力值下降1%,那一年可以进步多少呢?

dayfactor=0.01
dayup=1.0
for i in range (365):
    j=i%7
    if j in range (1,6):  #表示j可取1 2 3 4 5
    					  #注意是 (,)
        dayup=dayup*(1+dayfactor)       
    else:
        dayup=dayup*(1-dayfactor)
print("一年进步:{:.2f}".format(dayup))

结果显示:
一年进步:4.63

注意:for j in range (1,6) 是从1取到5
而在字符串里 使用的是 [1:6]

2.如果每周工作五天,休息两天,休息日水平下降0.01,工作日要努力到什么程度,一年后的水平才 与每天努力1%取得的效果一样呢?

import math
dayup_365=math.pow((1+0.01),365)

def dayup(df):
    dayup=1.0
    for i in range (365):
        j=i%7
        if j in range (1,6):  
            dayup=dayup*(1+df)       
        else:
            dayup=dayup*(1-0.01)
    return dayup

dayfactor=0.01
while(dayup(dayfactor)<dayup_365):
    dayfactor += 0.001
    
print("每天的努力参数是:{:.3f}".format(dayfactor))

结果展示:
每天的努力参数是:0.019

二、文本进度条:

1.用print()函数实现简单的非刷新文本进度条。

import time
scale=10
s1="执行开始"
print("{0:-^24}".format(s1))

for i in range (scale+1):
    a='**'*i
    b='..'*(scale-i)
    c=(i/scale)*100
    print("%{:^3.0f}[{}->{}]".format(c,a,b))
    time.sleep(0.1)
    
s2="执行结束"
print("{0:-^24}".format(s2))

结果显示:
----------执行开始----------
% 0 [->....................]
%10 [**->..................]
%20 [****->................]
%30 [******->..............]
%40 [********->............]
%50 [**********->..........]
%60 [************->........]
%70 [**************->......]
%80 [****************->....]
%90 [******************->..]
%100[********************->]
----------执行结束----------

2.单行动态刷新:

import time
scale=10
for i in range (101):
    print("{:3}%".format(i),end='')
    time.sleep(0.005)

'''
print()函数  默认输出 换行
end=''   表示:使输出不换行
end=' '  表示:使输出不换行  间隔一个 空格
'''

结果显示:
  0%  1%  2%  3%  4%  5%  6%  7%  8%  9% 10% …… …… 90% 91% 92% 93% 94% 95% 96% 97% 98% 99%100%

3.带刷新的文本进度条

import time
scale=20
print("执行开始".center(scale*3,'-'))
t=time.perf_counter()
#time.perf_counter
#time.process_time

for i in range (scale+1):
    a="**"*i
    b=".."*(scale-i)
    c=(i/scale)*100
    t-= time.perf_counter()
    print("{:^3.0f}%[{}->{}]\t{:.2f}".format(c,a,b,-t))
    time.sleep(0.05)

print("执行结束".center(scale*3,'-'))

'''
代码第四行,不可以使用str.center()函数
会出现warning:
t=time.clock()
DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be
removed from Python 3.8: use time.perf_counter or time.process_time instead
'''
结果显示:
 0 %[->........................................]	0.00
 5 %[**->......................................]	0.65
10 %[****->....................................]	1.41
15 %[******->..................................]	2.29
20 %[********->................................]	3.28
25 %[**********->..............................]	4.39
30 %[************->............................]	5.63
35 %[**************->..........................]	6.98
40 %[****************->........................]	8.45
45 %[******************->......................]	10.04
50 %[********************->....................]	11.74
55 %[**********************->..................]	13.56
60 %[************************->................]	15.49
65 %[**************************->..............]	17.55
70 %[****************************->............]	19.72
75 %[******************************->..........]	22.00
80 %[********************************->........]	24.41
85 %[**********************************->......]	26.92
90 %[************************************->....]	29.56
95 %[**************************************->..]	32.32
100%[****************************************->]	35.19
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值