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

1.0:简单计算。

"""

52周存钱挑战1.0:

简单的计算与输出

"""

def main():

per_week_money = 10

i = 1

saving = 0

increase_money = 10

week = 52

while i <= week:

saving += per_week_money

print("第{}周,存入{}元,账户累计{}元".format(i,per_week_money,saving))

i += 1

per_week_money += increase_money

if __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 = 10

i = 1

increase_money = 10

week = 52

saving = 0

money_list = []

while i <= week:

money_list.append(per_week_money)

saving = math.fsum(money_list)

print("第{}周,存入{}元,账户累计{}元".format(i,per_week_money,saving))

i += 1

per_week_money += increase_money

if __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 = 10

increase_money = 10

week = 52

saving = 0

money_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

if __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 math

def saving_money(per_week_money,week,increase_money):

global saving

money_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 datetime

def 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_money

return 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()

python存钱挑战_52周拯救挑战赛(python),存钱,Python相关推荐

  1. 新农慕课python答案第八周_2021年智慧树Python语言应用第五单元章节测试答案选修课网课慕课答案...

    2021年智慧树Python语言应用第五单元章节测试答案选修课网课慕课答案 更多相关问题 前摄抑制和倒摄抑制现象可以作为证据支持某种遗忘理论,这一遗忘理论是A.衰退说B.干扰说C.压抑说D 2013年 ...

  2. 北京理工大学python慕课第三周考试_北京理工大学python慕课答案

    北京理工大学python慕课答案 对负数取平方根,即使用函数math.sqrt(x),其中x为负数,将产生 以下可以终结一个循环的执行的语句是 决策结构问题通常只有一种方案 字符串是一个字符序列,例如 ...

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

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

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

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

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

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

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

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

  7. python 南京大学_南京大学python课程系列笔记之python基础之第一周:走进python

    1.1 python简介: 历史,特点,应用 1.2 第一个python程序: 1.输出: print(字符串) print(变量) 2.输入: varibale = input("mess ...

  8. 三周写出高性能的Python代码,这些小技巧你值得一试。

    1一个不上进的 Python 使用者 我是一个有 C 语言背景的开发者.最近转做了 Python,平时用 Python 还算 6,这周在给新员工分享工作之后,有个小孩跑来问我:"哥,你是学 ...

  9. 近找到了一个免费的python教程,两周学会了python开发【内附学习视频】

    原文作者:佛山小程序员 原文链接:https://blog.csdn.net/weixin_44192923/article/details/86515984 最近找到了一个免费的python教程,两 ...

  10. 最近找到了一个免费的python教程,两周学会了python开发

    最近找到了一个免费的python教程,两周学会了python开发 最近找到了一个免费的python教程,两周学会了python开发.推荐给大家,希望召集更多的朋友一起学习python. 最近开始整理p ...

最新文章

  1. 阅读Book: MultiObjective using Evolutionary Algorithms (1) --prologue 单目标和多目标的不同
  2. 在android工程中,res目录下又有anim、drawable、layout、menu、raw、values和xml文件夹,分别用来保存?...
  3. 人脸识别走光引热议!原来后台能看到的不只有脸,网友已社死,审核辣哭眼...
  4. Could not install packages due to anEnvironmentError: [WinError 5] 拒绝访问
  5. 国外地球物理强势学校与知名研究组
  6. 使用arguments对象模拟函数重载
  7. Java String子序列
  8. vue+elementUI的el-form的回车键登录
  9. 【滤波器】基于matlab GUI分数延迟滤波器设计【含Matlab源码 1347期】
  10. PlatformIO中arduino框架下stm32编程实现原理
  11. 开机黑屏显示html,开机黑屏显示“This Product is covered by”解决方法
  12. 阿里云域名以及子域名解析教程
  13. 模拟器桥接模式下 WLAN 无法连接及安卓 7.0+ 无法抓包 HTTPS 的解决
  14. 事大发了!小助理告诉我:小伙伴21天斩获字节offer的关键竟是这份面试题!
  15. Unity接入穿山甲广告(使用unity插件SDK接入)看这一篇就够了
  16. 四.异常以及Cookie的处理
  17. 泰勒公式求极限c语言switch,C语言利用泰勒公式构造求SIN(X),求大触帮看我的代码哪里有问题...
  18. 依托大数据 破解中小商企信用难题
  19. 4128----喵帕斯之矩阵 sdut oj
  20. 黑苹果不能登录AppleID解决

热门文章

  1. android模拟器克隆app,易语言一键克隆/启动安卓模拟器
  2. 轻量级pdf查看阅读工具Sumatra PDF
  3. 基于正态分布的抽样分布-T分布
  4. ZZCMS 2022版白盒审计
  5. 铅蓄电池首批规范企业名单出炉 多家上市公司入围
  6. MySQL(4) 数据库增删改查SQL语句(整理集合大全)
  7. ILSVRC2016
  8. Win10系统SAS9.4安装步骤
  9. 中华石杉Java面试突击第一季笔记三(分布式缓存)
  10. python--如何进行去重