天天向上的力量习题"/>
3.4天天向上的力量习题
1、一年365天,初始水平值为1.0,每工作一天水平增加N,不工作时水平不下降,一周连续工作4天。(N=0.001、0.002…0.010)
注:单个输入输出的为法1、2;循环法为法3、4、5
法1(直接法):
import math
dayup=1.0
dayfactor=N
for i in range(365):if i%7 in [1,2,3,4]:dayup=dayup*(1+dayfactor)#print("{:.2f}".format(dayup))#print("{:.2f}".format(dayup))
print("年终值为{:.2f}".format(dayup))
易错点:注意print函数的缩进位置
法2(函数法):
import math
def dayUP(df):dayup=1.0for i in range(365):if i%7 in [1,2,3,4]:dayup=dayup*(1+df)return dayup
print("年终值为{:.2f}".format(dayUP(0.001)))
法3(range函数嵌套range函数):
import math
for N in range(1,11):df=N*0.001dayup=1.0for i in range(365):if i%7 in [1,2,3,4]:dayup=dayup*(1+df)else:dayup=dayup
#print("年终值为{:.2f}".format(dayup))print("年终值为{:.2f}".format(dayup))
需要注意的是:range函数不能有遍历浮点;以及print函数的缩进问题
法4(先定义函数,再range函数):
def Dayup(N):dayup = 1.0for i in range(365):if i%7 in [1,2,3,4]:dayup = dayup*(1+N)else:dayup = dayupprint("年终值为:{:.2f}".format(dayup))
N = 0.001
for i in range(10):Dayup(N)N += 0.001
注意:这里定义的函数Dayup(N)最后不是return一个数,而是print一个字符串
法5(最简单):
N=0
while N<=0.01:N+=0.001dayup=1.0for i in range(365):if i%7 in (1,2,3,4):dayup=dayup*(1+N)print("年终值为{:.2f}".format(dayup))
2、一年365天,初始水平值为1.0,每工作一天水平增加N,不工作时水平不下降,一周连续工作5天。(N=0.001、0.002…0.010)
N=0
while N<=0.01:N+=0.001dayup=1.0for i in range(365):if i%7 in (1,2,3,4,5):dayup=dayup*(1+N)print("年终值为{:.2f}".format(dayup))
3、一年365天,初始水平值为1.0,每工作一天水平增加N,不工作时水平不下降,一周连续工作6天。(N=0.001、0.002…0.010)
N=0
while N<=0.01:N+=0.001dayup=1.0for i in range(365):if i%7 in (1,2,3,4,5,6):dayup=dayup*(1+N)print("年终值为{:.2f}".format(dayup))
4、一年360天,初始水平值为1.0,以每个月30天计算,在每个月月初连续10天里,每工作一天水平增加N,该月其他时间工作与否都不增加水平值。(N=0.001、0.002…0.010)
N=0
while N<=0.01:N+=0.001dayup=1.0for i in range(360):if i%30 in range(1,11):dayup=dayup*(1+N)print("年终值为{:.2f}".format(dayup))
注:题2、3、4均采用方法5
更多推荐
3.4天天向上的力量习题
发布评论