52周存钱挑战(Python)
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)相关推荐
- 【Python 23】52周存钱挑战3.0(循环计数for与range)
1.案例描述 按照52周存钱法,存钱人必须在一年52周内,每周递存10元.例如,第一周存10元,第二周存20元,第三周存30元,直到第52周存520元. 记录52周后能存多少钱?即10+20+30+. ...
- Python小例子—— 52周存钱挑战
# -*- coding: utf-8 -*- """作者:宇轩亚40功能:52周存钱挑战 """ import math import d ...
- (四)52周存钱挑战3.0-----for循环遍历列表、range()
for 循环 • 使用for语句可以循环遍历整个序列的内容for < x > in < list1 >:<body> • 循环变量x在每次循环时,被赋值成对应的元素 ...
- 【Python 22】52周存钱挑战2.0(列表list和math函数)
1.案例描述 按照52周存钱法,存钱人必须在一年52周内,每周递存10元.例如,第一周存10元,第二周存20元,第三周存30元,直到第52周存520元. 记录52周后能存多少钱?即10+20+30+. ...
- 52周存钱挑战1.0
程序: import turtledef main():money_every_week=10zhou=1increase_money=10total_week=52saving=0while zho ...
- 52周存钱挑战4.0
程序: import turtle import mathsaving=0#全局变量def save_money(money_every_week,increase_money,total_week) ...
- 2020.01.02 52周存钱
这个 示例是一个存钱记录 本示例涉及知识点: ①while循环实现案例 ②记录每周的存款数math库 ③用循环记录,迭代函数 ④用户灵活输入值,参数传入与全局变量 ⑤根据用户输入日期判断金额 ⑥dat ...
- python实现BMR计算器,日历计算,存钱挑战,分形树和五角星绘制等
"""功能:BMR计算器版本:4.0"""def main():"""主函数""" ...
- 美国 AI 博士:什么都不会怎么学 Python?60 天知识脉络图,快速挑战 Python 全栈
我见过市面上很多的 Python 讲解教程和书籍,他们大都这样讲 Python 的: 先从 Python 的发展历史开始,介绍 Python 的基本语法规则,Python 的 list, dict, ...
- 永恒python怎么强化_永恒python加6_pythontip 挑战python (6-10)
挑战python,6-10题,入门题的解答过程,有更好的方法请留言 题目(id:6):求解100以内的所有素数 输出100以内的所有素数,素数之间以一个空格区分 思路:筛选法求素数.另外,每行结果最后 ...
最新文章
- Linux-TCP/IP TIME_WAIT状态原理
- 九度 1408 寻找表达式 (中缀转后缀)
- docker搭建harbor私有镜像库
- python中loop函数_python + Django 的forloop功能试验讲解
- Paint X for Mac的用法
- 最热门的10个Java微服务框架
- win7系统主板驱动在哪
- 信息学奥赛一本通 1118:铺地毯 | 1863:【11NOIP提高组】铺地毯 | OpenJudge NOI 1.9 14 | 洛谷 P1003 [NOIP2011 提高组] 铺地毯
- java bean参数清空_给bean的属性赋值
- ProxySQL 常见表配置
- git 查看某些文档的历史版本_10分钟了解git
- Linux 升级glibc-2.14 失败 我遇到的问题
- 阶段3 3.SpringMVC·_05.文件上传_4 文件上传之Springmvc方式上传代码
- [原创].Net中绑定到DataView的问题
- VMware8安装教程
- 星环大数据助银行数据仓库全面升级
- Python中的numpy库介绍!
- li标签中,img居中显示
- 数据库-库表设计 【分享一些库表设计经验】
- 融创孙喆一:父辈的光环与阴影下,我反对扮演所谓的二代
热门文章
- python400集 高淇主讲pdf_高淇python400集全套视频教程 相关实例(示例源码)下载 - 好例子网...
- 计算机审计方法模板,计算机审计上机实验报告模板.doc
- java excel 水印_Java下载文件加文字水印(Excel、PDF、图片)
- matlab t分布 反函数,Excel 应用TINV函数计算学生的t分布的反函数
- 什么软件可以编辑PDF,PDF怎么拆分页面
- 局域网计算机怎样注销用户名,win10系统取消局域网共享用户名密码的解决办法...
- 【Flutter系列】第一期——初识Dart语言
- Object类型转换为int型
- 把图片放大清晰度不变的方法
- Vue进阶(四十七):面试必备:2022 Vue经典面试题总结(含答案)