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

1.案例描述

按照52周存钱法,存钱人必须在一年52周内,每周递存10元。例如,第一周存10元,第二周存20元,第三周存30元,直到第52周存520元。

记录52周后能存多少钱?即10+20+30+...+520=13780

2.0增加功能:记录每周存款金额(使用list)

3.0增加功能:使用循环直接计数(for)

2.案例分析

输入:每周递存金额(10元)和挑战总周数(52周)

处理:账户累计+=每周存入金额;每周存入金额 +=每周递存金额。从第1周开始循环,到52周结束。

输出:第几周,存入多少元,累计账户多少钱?

 3.for循环

(1)使用for循环可以遍历整个序列的内容,循环变量x在每次循环时被赋值为序列list1中的元素。

for <x> in <list1>:
    <body>

(2)for与while的区别在于,for循环次数固定为序列长度,while可以为无限次数的循环。

(3)range() 函数

range函数可创建一个整数列表,返回一个可迭代的对象,一般用在 for 循环中。range使用参考

range([start,] stop[, step])   #start默认为0,step默认为1,不包含stop
range(5)     #等价于  range(0, 5)
range(0, 5)  #等价于 range(0, 5, 1)
range(0, 5)  #值为[0, 1, 2, 3, 4]没有5
#使用举例,输出字符串每个字符
x = ‘runoob‘
for i in range(len(x)) :
     print(x[i])

range迭代对象转换为序列

# 使用list(range(n))可以将迭代类型对象转换为list列表
a=[1,2,3,4,5]
b=list(range(len(a)))
print(b)    #结果为[0, 1, 2, 3, 4],range只有一个参数,默认从0开始,到len(a)结束,步长为1

type(b)    #结果为<class ‘list‘>
type(range(len(a)))   #结果为<class ‘range‘>

4.上机实验

"""
    作者:梁斌
    功能:52周存钱挑战
    版本:3.0
    日期:05/08/2017
    2.0增加功能:记录每周的存款数
    3.0增加功能:使用循环直接计数
"""
import math

def main():
    """
        主函数
    """
    money_per_week = 10     # 每周的存入的金额
    increase_money = 10     # 递增的金额
    total_week = 52         # 总共的周数
    saving = 0              # 账户累计

    money_list = []         # 记录每周存款数的列表

    for i in range(total_week):
        money_list.append(money_per_week)
        saving = math.fsum(money_list)

        # 输出信息
        print(‘第{}周,存入{}元,账户累计{}元‘.format(i + 1, money_per_week, saving))

        # 更新下一周的存钱金额
        money_per_week += increase_money

if __name__ == ‘__main__‘:
    main()

原文地址:https://www.cnblogs.com/badboy200800/p/10630163.html

时间: 2024-10-10 14:28:30

【Python 23】52周存钱挑战3.0(循环计数for)的相关文章

【Python 21】52周存钱挑战2.0(列表和math函数)

1.案例描述 按照52周存钱法,存钱人必须在一年52周内,每周递存10元.例如,第一周存10元,第二周存20元,第三周存30元,直到第52周存520元. 记录52周后能存多少钱?即10+20+30+...+520=13780 2.0增加功能:记录每周存款金额(使用list) 2.案例分析 输入:每周递存金额(10元)和挑战总周数(52周) 处理:账户累计+=每周存入金额:每周存入金额 +=每周递存金额.从第1周开始循环,到52周结束. 输出:第几周,存入多少元,累计账户多少钱? 3.列表list

【Python 24】52周存钱挑战4.0

1.案例描述 按照52周存钱法,存钱人必须在一年52周内,每周递存10元.例如,第一周存10元,第二周存20元,第三周存30元,直到第52周存520元. 记录52周后能存多少钱?即10+20+30+...+520=13780 2.0增加功能:记录每周存款金额(使用list) 3.0增加功能:使用循环直接计数(for) 4.0增加功能:灵活设置每周存款数,增加存款数及存款周数 2.案例分析 输入:每周递存金额(10元)和挑战总周数(52周) 处理:账户累计+=每周存入金额:每周存入金额 +=每周递

【每天学点Python】案例四:52周存钱挑战

52周存钱挑战 V1.0初步实现 案例描述: 52周存钱法,即52周阶梯式存钱法,是国际上非常流行的存钱方法. 按照52周存钱法,存钱的人必须在一年52周内,每周递周10元 例子: 第一周存10元,第二周存20元,第三周存30元,一直到第52周存520元,这样一年下来会有多少钱呢? 10+20+30+40+...+520 = 13780 上机实验: 1 """ 2 作者:王鑫正 3 功能:52周存钱挑战 4 版本:1.0 5 日期:2018年9月21日 6 "&qu

python学习(二)百度爬虫0.1

参照着网上的爬虫案例(点我),先做了一个demo,基本的爬虫项目创建,以及数据抽取,数据分析,数据保存等等过程基本上有所掌握. 我的需求是需要检索指定的百度贴吧,根据指定的关键字库,搜索出含有关键字的链接,并抽取出来,用于后续告警. 因此,基于需求,分如下步骤: 第一:基于Scrapy创建爬虫项目: 第二:新建TieBaSpider爬虫: 第三:新建外部关键字库dictionary.txt文件,贴吧地址配置url.txt文件: 第一步参考晚上案例. 从第二步开始,编写爬虫,同时创建实例对象以及创

Python保留浮点数位数和整数补0的方法

最简单的格式如下: a=1.333333344,将这个数保存为小数点后3位 '%.03f'%a 不过这样做返回的结果会变成一个字符串,显示为: p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Courier; background-color: #ffffff } span.s1 { } '1.333' 所以只要再在前面加个float()即可返回正常浮点数,即: float('%.03f'%a) 但如果输入 '%03f'%a 这里没有了那

python数据分析-第一周

NumPy: ndarray Pandas: DataFrame Matplotlib: SciPy: integrate linalg optimize signal sparse special stats weave Canopy安装 python变量类型 numbers(数字)--int,long,float,complex string(字符串)--从0开始计数,起始位,结束处(不包括结尾) list(列表)--可改变,赋值 tuple(元组)--不可改变赋值 dictionary(字

连续52周,每周推出一个新的应用程序

[德普优化] 德普优化Deepaso 专业的ASO优化和移动APP推广,积分墙厂家,关键词排名数据分析平台 当启动一个新的应用程序(APP)项目的时候,可能是一个紧张的时刻,因为有很多未知的风险正在等待着我们.因为这不仅需要跟不同的利益相关者(品牌,产品,员工,董事会)探讨结论和答案,更不用说您自己的决策是否正确,以确保您的行动符合预期,并将公司带来最大的价值. 在发布时,我们必须一次性管理大量Slack,以及电子邮件更新的请求,漫游会议和以及给更多利益相关的Boss展示PPT的任务,如果您还没

python入门(11)条件判断和循环

python入门(11)条件判断和循环 条件判断 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现: age = 20 if age >= 18: print 'your age is', age print 'adult' 根据Python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做. 也可以给if添加一个else语句,意思是,如果if判断是False,

python利用set实现两个文件并集,计数

--python实现两个文件并集,排序,计数 --(1)python版本2.3以上,低版本的python不支持set(),本文采用的是python2.7. import sys import time time_start=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) print time_start num=0 s1 = set(open('/home/work/ctt/20150409.uid','r').rea