zoukankan      html  css  js  c++  java
  • 【Python 23】52周存钱挑战3.0(循环计数for与range)

    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()
  • 相关阅读:
    ubuntu挂载群晖共享文件
    200. 岛屿数量_中等_不再记笔记了
    733. 图像渲染_简单_矩阵
    46. 全排列_中等_模拟
    37. 解数独_困难_矩阵
    1041. 困于环中的机器人_中等_模拟
    946. 验证栈序列
    415. 字符串相加_简单_模拟
    164. 最大间距_数组_困难
    215. 数组中的第K个最大元素_中等_数组
  • 原文地址:https://www.cnblogs.com/badboy200800/p/10630163.html
Copyright © 2011-2022 走看看