52周存钱挑战过程:第1天存钱10元,第2天存钱2元,第3天存钱30元......计算存钱52周的账户总额,同时记录每日存钱数额、存钱周数以及每周的账户金额。

1.0:简单计算。

"""
52周存钱挑战1.0:
简单的计算与输出
"""def main():per_week_money = 10i = 1saving = 0increase_money = 10week = 52while i <= week:saving += per_week_moneyprint("第{}周,存入{}元,账户累计{}元".format(i,per_week_money,saving))i += 1per_week_money += increase_moneyif __name__=="__main__":main()

saving表示账户金额,初始化为0。利用while循环,将每周存的钱加进saving中。设定每周的存钱数目比上一周增加10元,每完成一次循环,每周的存钱数目增加10元。输出形式利用了.format()函数。

2.0:记录每周的存钱数目。将每周存入的金钱数目放入一个列表里面。import math库,计算账户总额时,运用math库中的fsum()函数对列表中的元素求和。涉及知识点主要有:向列表中添加元素(.append())和对列表元素求和(math.fsum())。

"""
52周存钱挑战2.0:
记录每周的存钱数"""
import math
def main():per_week_money = 10i = 1increase_money = 10week = 52saving = 0money_list = []while i <= week:money_list.append(per_week_money)saving = math.fsum(money_list)print("第{}周,存入{}元,账户累计{}元".format(i,per_week_money,saving))i += 1per_week_money += increase_moneyif __name__=="__main__":main()

3.0:1.0和2.0 设定了一个新的参数记录存钱的周数,而3.0运用for循环而不是while循环,这样存钱的周数就直接记录在for循环中了。注意:输出的存钱周数与列表的索引(从0开始)差一个数。

"""
52周存钱挑战3.0:
用循环记录存钱周数(for 循环)"""
import math
def main():per_week_money = 10increase_money = 10week = 52saving = 0money_list = []for i in range(week):money_list.append(per_week_money)saving = math.fsum(money_list)print("第{}周,存入{}元,账户累计{}元".format(i + 1,per_week_money,saving))per_week_money += increase_moneyif __name__=="__main__":main()

4.0:增加功能(1)用户可以自行选择每周存钱数目、存钱周数以及每周增加的存钱数目;(2)将存钱函数进行封装。第(1)个功能只要加入用户输入界面,调用input()函数即可。第(2)个功能也很好实现。需要注意的是局部变量与全局变量的区别。在主函数中输出saving_money函数中的saving时,要在saving_money中将saving 用 global标记为全局变量。

"""
52周存钱挑战4.0:
1.0 灵活输入每周的存钱数目、存钱周数、每周增加的存钱数目
2.0 将存钱的函数进行封装"""
import mathdef saving_money(per_week_money,week,increase_money):global savingmoney_list = []for i in range(week):money_list.append(per_week_money)saving = math.fsum(money_list)print("第{}周,存入{}元,账户累计{}元".format(i + 1, per_week_money, saving))per_week_money += increase_money#return saving   ###没有return会返回空值#print("函数内:",saving)def main():per_week_money = float(input("请输入每周的存钱数目:"))week = int(input("请输入总的存钱周数:"))increase_money = float(input("请输入每周增加的存钱数目:"))saving_money(per_week_money, week, increase_money)#saving=saving_money(per_week_money, week, increase_money)#print("函数外:",saving)print("总共存入:",saving)if __name__=="__main__":main()

5.0:用户根据输入的日期,可查询是第几周并输出累计的账户金额。建立一个列表saved_money,储存每周对应的累计的账户金额序列。调用与时间相关的datetime库。其中datetime.strptime()函数可以将输入的str类型的时间解析为datetime类型的时间,而.isocalendar()函数可以判断datetime类型的时间为一年周的第几周,具体输出形式为(年,第几周,周几)。

"""
52周存钱挑战5.0:
根据输入的日期,判断是一年的第几周,并输出当前的存款数目
(datatime)"""
import math
import datetimedef saving_money(per_week_money,week,increase_money):money_list = []saved_money = []for i in range(week):money_list.append(per_week_money)saving = math.fsum(money_list)saved_money.append(saving)per_week_money += increase_moneyreturn saved_money   ###没有return会返回空值def main():per_week_money = float(input("请输入每周的存钱数目:"))week = int(input("请输入总的存钱周数:"))increase_money = float(input("请输入每周增加的存钱数目:"))date_str = input("请输入要查询的日期(yyyy/mm/dd):")date = datetime.datetime.strptime(date_str,"%Y/%m/%d")weekth = date.isocalendar()[1]saved_money = saving_money(per_week_money, week, increase_money)print("第{}周的存款为{}元".format(weekth,saved_money[weekth-1]))if __name__=="__main__":main()

52周存钱挑战(Python)相关推荐

  1. 【Python 23】52周存钱挑战3.0(循环计数for与range)

    1.案例描述 按照52周存钱法,存钱人必须在一年52周内,每周递存10元.例如,第一周存10元,第二周存20元,第三周存30元,直到第52周存520元. 记录52周后能存多少钱?即10+20+30+. ...

  2. Python小例子—— 52周存钱挑战

    # -*- coding: utf-8 -*- """作者:宇轩亚40功能:52周存钱挑战 """ import math import d ...

  3. (四)52周存钱挑战3.0-----for循环遍历列表、range()

    for 循环 • 使用for语句可以循环遍历整个序列的内容for < x > in < list1 >:<body> • 循环变量x在每次循环时,被赋值成对应的元素 ...

  4. 【Python 22】52周存钱挑战2.0(列表list和math函数)

    1.案例描述 按照52周存钱法,存钱人必须在一年52周内,每周递存10元.例如,第一周存10元,第二周存20元,第三周存30元,直到第52周存520元. 记录52周后能存多少钱?即10+20+30+. ...

  5. 52周存钱挑战1.0

    程序: import turtledef main():money_every_week=10zhou=1increase_money=10total_week=52saving=0while zho ...

  6. 52周存钱挑战4.0

    程序: import turtle import mathsaving=0#全局变量def save_money(money_every_week,increase_money,total_week) ...

  7. 2020.01.02 52周存钱

    这个 示例是一个存钱记录 本示例涉及知识点: ①while循环实现案例 ②记录每周的存款数math库 ③用循环记录,迭代函数 ④用户灵活输入值,参数传入与全局变量 ⑤根据用户输入日期判断金额 ⑥dat ...

  8. python实现BMR计算器,日历计算,存钱挑战,分形树和五角星绘制等

    """功能:BMR计算器版本:4.0"""def main():"""主函数""" ...

  9. 美国 AI 博士:什么都不会怎么学 Python?60 天知识脉络图,快速挑战 Python 全栈

    我见过市面上很多的 Python 讲解教程和书籍,他们大都这样讲 Python 的: 先从 Python 的发展历史开始,介绍 Python 的基本语法规则,Python 的 list, dict, ...

  10. 永恒python怎么强化_永恒python加6_pythontip 挑战python (6-10)

    挑战python,6-10题,入门题的解答过程,有更好的方法请留言 题目(id:6):求解100以内的所有素数 输出100以内的所有素数,素数之间以一个空格区分 思路:筛选法求素数.另外,每行结果最后 ...

最新文章

  1. Linux-TCP/IP TIME_WAIT状态原理
  2. 九度 1408 寻找表达式 (中缀转后缀)
  3. docker搭建harbor私有镜像库
  4. python中loop函数_python + Django 的forloop功能试验讲解
  5. Paint X for Mac的用法
  6. 最热门的10个Java微服务框架
  7. win7系统主板驱动在哪
  8. 信息学奥赛一本通 1118:铺地毯 | 1863:【11NOIP提高组】铺地毯 | OpenJudge NOI 1.9 14 | 洛谷 P1003 [NOIP2011 提高组] 铺地毯
  9. java bean参数清空_给bean的属性赋值
  10. ProxySQL 常见表配置
  11. git 查看某些文档的历史版本_10分钟了解git
  12. Linux 升级glibc-2.14 失败 我遇到的问题
  13. 阶段3 3.SpringMVC·_05.文件上传_4 文件上传之Springmvc方式上传代码
  14. [原创].Net中绑定到DataView的问题
  15. VMware8安装教程
  16. 星环大数据助银行数据仓库全面升级
  17. Python中的numpy库介绍!
  18. li标签中,img居中显示
  19. 数据库-库表设计 【分享一些库表设计经验】
  20. 融创孙喆一:父辈的光环与阴影下,我反对扮演所谓的二代

热门文章

  1. python400集 高淇主讲pdf_高淇python400集全套视频教程 相关实例(示例源码)下载 - 好例子网...
  2. 计算机审计方法模板,计算机审计上机实验报告模板.doc
  3. java excel 水印_Java下载文件加文字水印(Excel、PDF、图片)
  4. matlab t分布 反函数,Excel 应用TINV函数计算学生的t分布的反函数
  5. 什么软件可以编辑PDF,PDF怎么拆分页面
  6. 局域网计算机怎样注销用户名,win10系统取消局域网共享用户名密码的解决办法...
  7. 【Flutter系列】第一期——初识Dart语言
  8. Object类型转换为int型
  9. 把图片放大清晰度不变的方法
  10. Vue进阶(四十七):面试必备:2022 Vue经典面试题总结(含答案)