52周存钱挑战1.0,只是简单把每一周的存钱输出,没有将每周的存钱记录下来,随便拿出一周的存钱数是不可能的。
那么下面的2.0就是解决这个问题:记录每周的存钱数
新的知识点:列表
列表(list)是有序的元素集合,类似字符串
可通过索引访问单个元素,如l[2],l[-1]
可通过区间索引访问子列表内容,如l[2,5],l[-3:]
列表中每个元素类型可以不同
列表操作符 | 含义 |
list1+list2 | 合并(连接)两个列表 |
list1*n | 重复n次列表内容 |
len(list1) | 返回列表长度(元素个数) |
x in list1 | 检查元素是否在列表中 |
list1.append(x) | 将x添加到列表末尾 |
list1.sort() | 对列表元素排序 |
list1.reverse() | 对列表元素逆序 |
list1.index(x) | 返回第一次出现元素x的索引值 |
list1.insert(i,x) | 在位置i处插入新元素x |
list1.count(x) | 返回元素x在列表中的数量 |
list1.remove(x) | 删除列表中第一次出现的元素x |
list1.pop(i) | 取出列表中i位置上的元素,并将它删除 |
本次用math库,下面介绍一部分函数用法:
函数 | 含义 |
math.pi | 圆周率 |
math.ceil(x) | 对x向上取整 |
math.floor(x) | 对x向下取整 |
math.pow(x,y) | x的y次方 |
math.sqrt(x) | x的平方根 |
math.fsum(x) | 对集合内的元素求和 |
最后,直接贴上52周存钱挑战的代码:
"""
作者:lanxingbudui
功能:52周存钱挑战
版本:v2.0
日期:2019-03-05
新增功能:记录每周存钱数
"""
import math
def main():
"""
主函数
"""
money_per_week = 10 # 每周存钱数
i = 1 # 周数
increase_money = 10 # 递增金额
total_week = 52 # 总的周数
# saving = 0 # 累计存钱数
money_list = [] # 累计存钱数的列表
while i <= total_week:
# 存钱操作
# saving += money_per_week
money_list.append(money_per_week)
saving = math.fsum(money_list)
# 输出信息
print('第{}周,存入{}元,账户累计{}元'.format(i, money_per_week, saving))
# 循环递增
i += 1
money_per_week += increase_money
if __name__ == '__main__':
main()