def game(pinlv,Stats): pinlvcopy=pinlv while(pinlvcopy>3 and pinlv<=7): pinlvcopy-=1 Stats+=Stats*0.01 return Stats def sevenwithin(Stats,newdays,pinlv): while newdays!=0: if(newdays>=7): newdays=newdays-pinlv pinlvcopy=pinlv Stats=game(pinlvcopy,Stats) if(newdays!=0): newdays-=1 else: if (newdays - pinlv > 0): pinlvcopy = pinlv Stats = game(pinlvcopy, Stats) newdays = newdays - pinlv - 1 else: Stats = game(newdays, Stats) newdays = 0 return Stats def sevenbeyond(Stats,newdays,pinlv): pinlvcopy=pinlv while newdays!=0: while (pinlv-7>0): pinlv-=7 if (newdays >= 7): newdays = newdays - 7 Stats = game(7, Stats) else: Stats=game(newdays,Stats) newdays = 0 break if (newdays >= 7): newdays = newdays - pinlv Stats = game(pinlv, Stats) if (newdays != 0): newdays -= 1 else: if (newdays - pinlv > 0): Stats=game(pinlv,Stats) newdays = newdays-pinlv-1 else: Stats = game(newdays, Stats) newdays = 0 pinlv=pinlvcopy return Stats def main(): days = eval(input("请输入总共学习的天数")) pinlv = eval(input("请输入学习的频率(默认休息一天)")) newdays = days Stats=1 if(pinlv<=7): Stats=sevenwithin(Stats,newdays,pinlv) else: Stats=sevenbeyond(Stats,newdays,pinlv) print("{:.6f}".format(Stats)) main()