PyCharm
- 第一课:黄金大作战
- 1.0 黄金期货
- 1.1 追加人民币金额
- 2.0追加铂金金额
- 2.1 追加循环
- 3.0追加函数编写
- 3.1函数lambda化
- 3.2代码main函数
- 第二课:绘制图形
- 1.0用函数画五角星
- 1.1 用函数方法画一个可以定义颜色与粗细五角星
- 1.2 用递归的方法画一个嵌套五角星
- 2.0 画一棵标准分形树
- 2.1 画一个棵随机分形树
- 第三课:计算问题
- 1.0计算BMI与BMR的基础工作
- 1.1 用户进行输入,并进行函数化
- 1.2用户在一行中进行输入,并带单位的信息的输出
- 2.0异常处理
- 2.1 提示体重情况
- 3.0 存钱计算
- 3.1使用列表保存每周金额存入
- 3.2 使用for循环
- 3.3使用函数
编写代码步骤:确定问题->算法设计->算法实现->测试->验证
用python去解决问题,有的相对计较基础,可以作为对基础知识的复习
第一课:黄金大作战
1.0 黄金期货
#定义常量与变量(重量转换)
OUNCE_VS_GRAM = 31.1035
xau_usd_ounce = 1273.06
#克数输入
gram_str_value = input('请输入黄金重量(g):')
#将字符串转换为数字
gram_value = eval(gram_str_value)
# 金额计算
usd_value = gram_value/OUNCE_VS_GRAM*xau_usd_ounce
# 输出结果
print('美元(USD)金额是:', usd_value)
1.1 追加人民币金额
#定义常量与变量(重量转换)
OUNCE_VS_GRAM = 31.1035
xau_usd_ounce = 1273.06
usd_vs_rmb = 6.6533
#克数输入
gram_str_value = input('请输入黄金重量(g):')
#将字符串转换为数字
gram_value = eval(gram_str_value)
# 金额计算
usd_value = gram_value/OUNCE_VS_GRAM*xau_usd_ounce
rmb_value = usd_value*usd_vs_rmb
# 输出结果
print('人民币(RMB)金额是:', rmb_value)
2.0追加铂金金额
#定义常量与变量(重量转换)
OUNCE_VS_GRAM = 31.1035
xau_usd_ounce = 1273.06
xpt_usd_ounce = 915.03
usd_vs_rmb = 6.6533
#克数输入如100au
input_str_value = input('请输入带金属名的重量(g):')
metal = input_str_value[-2:]
gram_str_value = input_str_value[:-2]
#将字符串转换为数字
gram_value = eval(gram_str_value)
if metal == "au": #黄金
usd_value = gram_value / OUNCE_VS_GRAM * xau_usd_ounce
rmb_value = usd_value * usd_vs_rmb
elif metal == "pt":#铂金
usd_value = gram_value / OUNCE_VS_GRAM * xpt_usd_ounce
rmb_value = usd_value * usd_vs_rmb
else:
rmb_value = "非支持金属:" + metal
# 输出结果
print('人民币(RMB)金额是:', rmb_value)
2.1 追加循环
#定义常量与变量(重量转换)
OUNCE_VS_GRAM = 31.1035
xau_usd_ounce = 1273.06
xpt_usd_ounce = 915.03
usd_vs_rmb = 6.6533
#克数输入如100au
input_str_value = input('请输入带金属名的重量(g),退出请输入q:')
while input_str_value != "q":
metal = input_str_value[-2:]
gram_str_value = input_str_value[:-2]
#将字符串转换为数字
gram_value = eval(gram_str_value)
if metal == "au":
usd_value = gram_value / OUNCE_VS_GRAM * xau_usd_ounce
rmb_value = usd_value * usd_vs_rmb
elif metal == "pt":
usd_value = gram_value / OUNCE_VS_GRAM * xpt_usd_ounce
rmb_value = usd_value * usd_vs_rmb
else:
rmb_value = "非支持金属:" + metal
# 输出结果
print('人民币(RMB)金额是:', rmb_value)
print("***************************************************")
input_str_value = input('请输入带金属名的重量(g),退出请输入q:')
print("程序已退出")
3.0追加函数编写
#定义常量与变量(重量转换)
OUNCE_VS_GRAM = 31.1035
xau_usd_ounce = 1273.06
xpt_usd_ounce = 915.03
usd_vs_rmb = 6.6533
#定义计算函数
def futures_value(gramvalue,metalounceusd,rate):
output = gramvalue/OUNCE_VS_GRAM * metalounceusd * rate
return output
#克数输入如100au
input_str_value = input('请输入带金属名的重量(g),退出请输入q:')
while input_str_value != "q":
metal = input_str_value[-2:]
gram_str_value = input_str_value[:-2]
#将字符串转换为数字
gram_value = eval(gram_str_value)
if metal == "au":
rmb_value = futures_value(gram_value,xau_usd_ounce,usd_vs_rmb)
#usd_value = gram_value / OUNCE_VS_GRAM * xau_usd_ounce
#rmb_value = usd_value * usd_vs_rmb
elif metal == "pt":
rmb_value = futures_value(gram_value,xpt_usd_ounce,usd_vs_rmb)
#usd_value = gram_value / OUNCE_VS_GRAM * xpt_usd_ounce
#rmb_value = usd_value * usd_vs_rmb
else:
rmb_value = "非支持金属:" + metal
# 输出结果
print('人民币(RMB)金额是:', rmb_value)
print("***************************************************")
input_str_value = input('请输入带金属名的重量(g),退出请输入q:')
print("程序已退出")
3.1函数lambda化
#定义常量与变量(重量转换)
OUNCE_VS_GRAM = 31.1035
xau_usd_ounce = 1273.06
xpt_usd_ounce = 915.03
usd_vs_rmb = 6.6533
#定义计算函数
"""
def futures_value(gramvalue,metalounceusd,rate):
output = gramvalue/OUNCE_VS_GRAM * metalounceusd * rate
return output
"""
futures_value = lambda gramvalue,metalounceusd,rate:gramvalue/OUNCE_VS_GRAM * metalounceusd * rate
#克数输入如100au
input_str_value = input('请输入带金属名的重量(g),退出请输入q:')
while input_str_value != "q":
metal = input_str_value[-2:]
gram_str_value = input_str_value[:-2]
#将字符串转换为数字
gram_value = eval(gram_str_value)
if metal == "au":
rmb_value = futures_value(gram_value,xau_usd_ounce,usd_vs_rmb)
#usd_value = gram_value / OUNCE_VS_GRAM * xau_usd_ounce
#rmb_value = usd_value * usd_vs_rmb
elif metal == "pt":
rmb_value = futures_value(gram_value,xpt_usd_ounce,usd_vs_rmb)
#usd_value = gram_value / OUNCE_VS_GRAM * xpt_usd_ounce
#rmb_value = usd_value * usd_vs_rmb
else:
rmb_value = "非支持金属:" + metal
# 输出结果
print('人民币(RMB)金额是:', rmb_value)
print("***************************************************")
input_str_value = input('请输入带金属名的重量(g),退出请输入q:')
print("程序已退出")
3.2代码main函数
#定义常量与变量(重量转换)
OUNCE_VS_GRAM = 31.1035
xau_usd_ounce = 1273.06
xpt_usd_ounce = 915.03
usd_vs_rmb = 6.6533
def main():
input_str_value = input('请输入带金属名的重量(g),退出请输入q:')
#克数输入如100au
while input_str_value != "q":
metal = input_str_value[-2:]
gram_str_value = input_str_value[:-2]
#将字符串转换为数字
gram_value = eval(gram_str_value)
if metal == "au":
rmb_value = futures_value(gram_value,xau_usd_ounce,usd_vs_rmb)
#usd_value = gram_value / OUNCE_VS_GRAM * xau_usd_ounce
#rmb_value = usd_value * usd_vs_rmb
elif metal == "pt":
rmb_value = futures_value(gram_value,xpt_usd_ounce,usd_vs_rmb)
#usd_value = gram_value / OUNCE_VS_GRAM * xpt_usd_ounce
#rmb_value = usd_value * usd_vs_rmb
else:
rmb_value = "非支持金属:" + metal
# 输出结果
print('人民币(RMB)金额是:', rmb_value)
print("***************************************************")
input_str_value = input('请输入带金属名的重量(g),退出请输入q:')
print("程序已退出")
#定义计算函数
def futures_value(gramvalue,metalounceusd,rate):
output = gramvalue/OUNCE_VS_GRAM * metalounceusd * rate
return output
#futures_value = lambda gramvalue,metalounceusd,rate:gramvalue/OUNCE_VS_GRAM * metalounceusd * rate
if __name__ == '__main__':
main()
第二课:绘制图形
1.0用函数画五角星
import turtle
def main():
#边长长度
size_value = 100
#第一条边
turtle.forward(size_value)
turtle.right(144)
#第二条边
turtle.forward(size_value)
turtle.right(144)
#第三条边
turtle.forward(size_value)
turtle.right(144)
# 第四条边
turtle.forward(size_value)
turtle.right(144)
# 第五条边
turtle.forward(size_value)
turtle.right(144)
#点击退出
turtle.exitonclick()
if __name__ == "__main__":
main()
1.1 用函数方法画一个可以定义颜色与粗细五角星
import turtle
#定义函数
def draw_pentagram(size_value):
count =1 #计数器
while count <= 5:
turtle.forward(size_value)
turtle.right(144)
count += 1
def main():
#边长长度
size_value = 200
turtle.up()#提起画笔
turtle.backward(size_value/2) #画笔向后移动100距离
turtle.pendown()#画笔落下
turtle.pensize(3)#粗细,默认为1
turtle.color("red")
draw_pentagram(size_value)
#点击退出
turtle.exitonclick()
if __name__ == "__main__":
main()
1.2 用递归的方法画一个嵌套五角星
import turtle
#定义函数
def draw_pentagram(size_value):
count =1 #计数器
while count <= 5:
turtle.forward(size_value)
turtle.right(144)
count += 1
#递归
def draw_recursize_pentagram(size_value,size_init,count):
turtle.penup()
turtle.backward(size_value/2)
turtle.pendown()
draw_pentagram(size_value)#画五角星
turtle.penup()
turtle.forward(size_value / 2)
turtle.left(90)
turtle.forward(size_init/2*0.1)#这样不会叠加在一起
turtle.right(90)
turtle.pendown()
count += 1
#turtle.forward(size_value/2)
print("第"+str(count) + "个五角星,五角星的边长:"+str(size_value)+",最大边长<="+str(size_init*3))
size_value += size_init/2
if size_value <= size_init*3:
draw_recursize_pentagram(size_value,size_init,count)
def main():
#边长长度
size_value = 100
turtle.speed(size_value/2)
turtle.pensize(3)#粗细,默认为1
turtle.color("red")
draw_recursize_pentagram(size_value,size_value,0)
#点击退出
turtle.exitonclick()
if __name__ == "__main__":
main()
2.0 画一棵标准分形树
- 树干初始长度50
- 每次绘制完树枝时,画笔右转20度
- 绘制下一段树枝时,长度减少8.重复6-7次操作直至终止
- 终止条件:树枝长度小于3,此时为顶端树枝
- 达到终止条件后,画笔左转40度,以当前长度减少8,绘制树枝
- 右转20度,回到原方向,退回上一个节点,直至操作完成
import turtle
def draw_branch(branch_length,pensize):
rate = 20#角度20
if branch_length > 3:
turtle.pensize(pensize)#画笔宽度
turtle.forward(branch_length)
print("向前",branch_length)
turtle.right(rate)
print("右转",str(rate))
#turtle.forward(branch_length-8)
draw_branch(branch_length-8,pensize)
#左侧枝叶绘画
turtle.left(rate*2)
print("左转", str(rate*2))
draw_branch(branch_length-8,pensize)
#返回之前树枝
turtle.right(rate)
turtle.backward(branch_length)
print("左后", branch_length)
def main():
branch_length = 50
turtle.left(90)
turtle.color("brown")
draw_branch(branch_length,1)
turtle.exitonclick()
if __name__ == "__main__":
main()
2.1 画一个棵随机分形树
- 1.树干初始长度为50
- 2.每次绘制完树枝时,画笔右转30度乘0.3-1.0之间的随机数a
- 3.绘制下一段树枝时,长度减少5。每次减少笔的粗细除1.5重复9-10操作直到终止
- 4.当树枝长度小于等于15时,笔的颜色变为绿色。否则变为棕色
- 5.终止条件:树枝长度小于3,此时为顶端树枝
- 6.达到终止条件后,画笔左转2倍的a度,以当前长度减少5,绘制树枝
- 7.右转a度,回到原方向,退回上一个节点,直到操作完成
import turtle
import random
def draw_branch(branch_length,pensize):
rate = 30*random.uniform(0.3,1.0)#角度20
if branch_length > 3:
turtle.pensize(pensize)#画笔宽度
if branch_length <= 15:
turtle.color("green")
else:
turtle.color("brown")
turtle.forward(branch_length)
# print("向前",branch_length)
turtle.right(rate)
#print("右转",str(rate))
#turtle.forward(branch_length-8)
pensize /= 1.5
draw_branch(branch_length-5,pensize)
#左侧枝叶绘画
turtle.pensize(pensize)
turtle.left(rate*2)
#print("左转", str(rate*2))
draw_branch(branch_length-5,pensize)
#返回之前树枝
turtle.right(rate)
if branch_length <= 15:
turtle.color("green")
else:
turtle.color("brown")
turtle.backward(branch_length)
pensize *= 1.5
#print("左后", branch_length)
def main():
branch_length = 50
turtle.left(90)
turtle.speed(1000)
turtle.penup()
turtle.backward(100)
turtle.pendown()
turtle.color("brown")
draw_branch(branch_length,8)
turtle.exitonclick()
if __name__ == "__main__":
main()
第三课:计算问题
1.0计算BMI与BMR的基础工作
#计算BMI与BMR的基础工作
def main():
#性别
gender = "F"
#身高
height = 162
#体重
weight = 52
#年龄
age = 24
bmi = weight/(height/100)**2
print("BMI:"+str(bmi))
if gender == 'M':
bmr = (13.7*weight) + (5*height)- (6.8*age)+66
elif gender == 'F':
bmr = (9.6 * weight) + (1.8 * height) - (4.7 * age) + 655
else:
bmr = -1
if bmr!= -1:
print("BMR:"+str(bmr)+"(千卡路里)="+str(bmr*4.186)+"(千焦耳)")
else:
print("输入出错")
if __name__ == '__main__':
main()
1.1 用户进行输入,并进行函数化
#1.1 用户进行输入,并改进函数化
def main():
#性别
gender = input("性别(输入M或F):")
#身高
height = input("身高(cm):")
height = float(height)
#体重
weight = input("体重(kg):")
weight = float(weight)
#年龄
age = input("年龄(year):")
age = float(age)
bmi = bmi_getvalue(height,weight)
print("BMI:"+str(bmi))
bmr = bmr_getvalue(gender,height,weight,age)
if bmr!= -1:
print("BMR:"+str(bmr)+"(千卡路里)="+str(bmr*4.186)+"(千焦耳)")
else:
print("输入出错")
def bmi_getvalue(height,weight):
bmi = weight/(height/100)**2
return bmi
def bmr_getvalue(gender,height,weight,age):
if gender == 'M' or gender == 'm':
bmr = (13.7*weight) + (5*height)- (6.8*age)+66
elif gender == 'F'or gender == 'f':
bmr = (9.6 * weight) + (1.8 * height) - (4.7 * age) + 655
else:
bmr = -1
return bmr
if __name__ == '__main__':
main()
1.2用户在一行中进行输入,并带单位的信息的输出
#1.2 用户在一行中进行输入,并带单位的信息的输出
def main():
input_str_q = ""
while input_str_q != "q":
input_str_value = input("性别(输入M或F): 身高(cm): 体重(kg): 年龄(year):")
input_str_list = input_str_value.split(" ")#以空格进行切割
#性别
gender = input_str_list[0]
#身高
height = float(input_str_list[1])
#体重
weight = float(input_str_list[2])
#年龄
age = float(input_str_list[3])
print("性别:{}. 身高:{}(cm). 体重:{}(Kg). 年龄:{}岁".format(gender,height,weight,age))
bmi = bmi_getvalue(height,weight)
print("BMI:{}".format(round(bmi,2))) #round() 对小数进行处理
bmr = bmr_getvalue(gender,height,weight,age)
if bmr!= -1:
print("BMR:{}(千卡)".format(round(bmr,3)))
else:
print("输入出错")
input_str_q = input("回车继续,按q退出:".lower())
def bmi_getvalue(height,weight):
bmi = weight/(height/100)**2
return bmi
def bmr_getvalue(gender,height,weight,age):
if gender == 'M' or gender == 'm':
bmr = (13.7*weight) + (5*height)- (6.8*age)+66
elif gender == 'F'or gender == 'f':
bmr = (9.6 * weight) + (1.8 * height) - (4.7 * age) + 655
else:
bmr = -1
return bmr
if __name__ == '__main__':
main()
2.0异常处理
def main():
input_str_q = ""
while input_str_q != "q":
input_str_value = input("性别(输入M或F): 身高(cm): 体重(kg): 年龄(year):")
try:
input_str_list = input_str_value.split(" ")
#性别
gender = input_str_list[0]
#身高
height = float(input_str_list[1])
#体重
weight = float(input_str_list[2])
#年龄
age = float(input_str_list[3])
print("性别:{}. 身高:{}(cm). 体重:{}(Kg). 年龄:{}岁".format(gender,height,weight,age))
bmi = bmi_getvalue(height,weight)
print("BMI:{}".format(round(bmi,2))) #round() 对小数进行处理
bmr = bmr_getvalue(gender,height,weight,age)
if bmr != -1:
print("BMR:{}(千卡)".format(round(bmr, 3)))
else:
print("输入出错")
except IndexError:
print("输入信息不足,请注意空格或内容")
except ZeroDivisionError:
print("请勿输入0")
except:
print("程序错误,请联系程序员")
finally:
input_str_q = input("回车继续,按q退出:".lower())
def bmi_getvalue(height,weight):
bmi = weight/(height/100)**2
return bmi
def bmr_getvalue(gender,height,weight,age):
if gender == 'M' or gender == 'm':
bmr = (13.7*weight) + (5*height)- (6.8*age)+66
elif gender == 'F'or gender == 'f':
bmr = (9.6 * weight) + (1.8 * height) - (4.7 * age) + 655
else:
bmr = -1
return bmr
if __name__ == '__main__':
main()
2.1 提示体重情况
#1.2 用户在一行中进行输入,并带单位的信息的输出
def main():
input_str_q = ""
while input_str_q != "q":
input_str_value = input("性别(输入M或F): 身高(cm): 体重(kg): 年龄(year):")
try:
input_str_list = input_str_value.split(" ")
#性别
gender = input_str_list[0]
#身高
height = float(input_str_list[1])
#体重
weight = float(input_str_list[2])
#年龄
age = float(input_str_list[3])
print("性别:{}. 身高:{}(cm). 体重:{}(Kg). 年龄:{}岁".format(gender,height,weight,age))
bmi = bmi_getvalue(height,weight)
print("BMI:{}".format(round(bmi,2)) + bmi_status(bmi_value)) #round() 对小数进行处理
bmr = bmr_getvalue(gender,height,weight,age)
if bmr != -1:
print("BMR:{}(千卡)".format(round(bmr, 3)))
else:
print("输入出错")
except IndexError:
print("输入信息不足,请注意空格或内容")
except ZeroDivisionError:
print("请勿输入0")
except:
print("程序错误,请联系程序员")
finally:
input_str_q = input("回车继续,按q退出:".lower())
def bmi_getvalue(height,weight):
bmi = weight/(height/100)**2
return bmi
def bmr_getvalue(gender,height,weight,age):
if gender == 'M' or gender == 'm':
bmr = (13.7*weight) + (5*height)- (6.8*age)+66
elif gender == 'F'or gender == 'f':
bmr = (9.6 * weight) + (1.8 * height) - (4.7 * age) + 655
else:
bmr = -1
return bmr
def bmi_status(bmi_value):
if bmi_value < 18.5:
return "体重过轻"
elif bmi_value >= 18.5 and bmi_value < 24:
return "体重正常"
elif bmi_value >= 24 and bmi_value < 27:
return "体重过重"
elif bmi_value >= 27 and bmi_value < 30:
return "轻度肥胖"
elif bmi_value >= 30 and bmi_value < 35:
return "中度肥胖"
elif bmi_value >= 35:
return "重度肥胖"
else:
return bmi_value
if __name__ == '__main__':
main()
3.0 存钱计算
"""
作者:徐康敏
功能:存钱计算
版本:1.0
日期:2017/10/09
"""
def main():
"""
主函数
"""
perweek_saving = 10 # 每周的存入的金额
perweek_use = 200
i = 1 # 记录周数
increase_money = 10 # 递增的金额
total_week = 52 # 总共的周数
total_saving = 2000 # 账户累计
while i <= total_week:
# 存钱操作
# total_saving = total_saving + perweek_saving
total_saving = total_saving + perweek_saving - perweek_use
# 输出信息
print('第{}周,存入{}元,花费{}元,账户累计{}元'.format(i, perweek_saving,perweek_use,total_saving))
# 更新下一周的存钱金额
perweek_saving += increase_money
i += 1
if __name__ == '__main__':
main()
3.1使用列表保存每周金额存入
"""
作者:徐康敏
功能:存钱计算
版本:2.0
日期:2017/10/09
功能:2.0 使用列表保存每周金额存入
"""
import math
def main():
"""
主函数
"""
perweek_saving = 10 # 每周的存入的金额
perweek_use = 200
i = 1 # 记录周数
increase_money = 10 # 递增的金额
total_week = 52 # 总共的周数
init_saving = 2000 # 账户累计
money_list = [] # 记录每周存款数的列表
while i <= total_week:
# 存钱操作
# total_saving = total_saving + perweek_saving
#total_saving = total_saving + perweek_saving - perweek_use
money_list.append(perweek_saving-perweek_use)
total_saving = math.fsum(money_list)
# 输出信息
print('第{}周,存入{}元,花费{}元,账户累计{}元'.format(i, perweek_saving,perweek_use,total_saving+init_saving))
# 更新下一周的存钱金额
perweek_saving += increase_money
i += 1
#print(money_list)
if __name__ == '__main__':
main()
3.2 使用for循环
"""
作者:徐康敏
功能:存钱计算
版本:2.1
日期:2017/10/09
功能:2.0 使用列表保存每周金额存入
2.1 使用for循环
"""
import math
def main():
"""
主函数
"""
perweek_saving = 10 # 每周的存入的金额
perweek_use = 200
#i = 1 # 记录周数
increase_money = 10 # 递增的金额
total_week = 52 # 总共的周数
init_saving = 2000 # 账户累计
money_list = [] # 记录每周存款数的列表
for i in range(total_week):
# 存钱操作
# total_saving = total_saving + perweek_saving
#total_saving = total_saving + perweek_saving - perweek_use
money_list.append(perweek_saving-perweek_use)
total_saving = math.fsum(money_list)
# 输出信息
print('第{}周,存入{}元,花费{}元,账户累计{}元'.format(i+1, perweek_saving,perweek_use,total_saving+init_saving))
# 更新下一周的存钱金额
perweek_saving += increase_money
#i += 3
#print(money_list)
if __name__ == '__main__':
main()
3.3使用函数
"""
作者:徐康敏
功能:存钱计算
版本:3.0
日期:2017/10/09
功能:2.0 使用列表保存每周金额存入
2.1 使用for循环
3.0 使用函数,根据用户输入的日期,判断距离今天有几周,然后输出相应的存款金额
"""
import math
#全局变量
money_list = []
init_saving = 0
#lesszero = 0
def yourmoney_afterweeks(perweek_saving,increase_money,perweek_use,total_week):
global money_list
for i in range(total_week):
money_list.append(perweek_saving-perweek_use)
total_saving = math.fsum(money_list)
perweek_saving += increase_money
#print('第{}周,存入{}元,花费{}元,账户累计{}元'.format(i + 1, perweek_saving, perweek_use, total_saving + init_saving))
return total_saving
def main():
global init_saving#,lesszero
input_str_value = input("已有存款,初始周存款,周递增,周花费,存款周数:")
input_str_list = input_str_value.split(" ")#格式通过空格分割
init_saving = float(input_str_list[0])
perweek_saving = float(input_str_list[1])
increase_money = float(input_str_list[2])
perweek_use = float(input_str_list[3])
total_week = int(input_str_list[4])
total_saving = yourmoney_afterweeks(perweek_saving,increase_money,perweek_use,total_week)
"""
for i in range(len(money_list)):
if math.fsum(money_list[:i+1]) + init_saving < 0:
lesszero = i+1
print("{}周会遇到负存款".format(i+1))
break
print(lesszero)
"""
print(total_saving + init_saving)
#print("已有存款{}元,每周基础存款{}元,每周递增金额{}元,每周花费{}元,存款周数{},存款后{}元".format(init_saving,perweek_saving,increase_money,perweek_use,total_saving+init_saving))
if __name__ == '__main__':
main()