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

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

  1. 【Python 21】52周存钱挑战1.0

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

  2. 【Python 24】52周存钱挑战4.0(函数)

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

  3. 【Python 25】52周存钱挑战5.0(datetime库和import)

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

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

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

  5. 从今天开始每天刷一题,并写在这里 分类: ACM 2015-06-16 23:52 14人阅读 评论(0) 收藏

    开始什么题都可以,后面会加大难度. 每天! 如果有一天有特殊情况,也要来这里打卡,并说明原因,并在其他某一天补上! 版权声明:本文为博主原创文章,未经博主允许不得转载.

  6. python课程第二周重点记录

    python课程第二周重点记录 1.元组的元素不可被修改,元组的元素的元素可以被修改(字典在元组中,字典的值可以被修改) 2.个人感觉方便做加密解密 3.一些方法的使用 sb = "name ...

  7. Python-week2,第二周(基于Python3.0以上)

    1,列表 存储数据我们可以使用变量,但是当有很多个数据的时候用变量就会出现很多的局限性,所以这时候就用到了列表.列表就是中括号里每个元素使用逗号隔开.列如     [1,2,3]     这就是一个列 ...

  8. Python学习第一周

    一.我的第一个程序 print("Hello word!") 所以说python是一款非常简洁的语言,不像c,c++等等写一个简单的小程序还要调用一堆库.另外,python 3的版 ...

  9. 利用python完成大学刷课(从0到完成的思路)

    i春秋作家:tllm 原文来自:利用python完成大学刷课(从0到完成的思路) 最近刚刚开学,学校总是有很多让人无语的课要修,还不能不修.然后我想写一个自动修课的脚本.大佬们不要笑我 是边面向百度学 ...

随机推荐

  1. Python高级特性(一)

    一.切片 L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']取出前三个元素 , 笨方法就是通过下标一个一个获取 [L[0], L[1], L[2]]Pyt ...

  2. MySQL优化指南

    当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑.部署.运维的各种复杂度,一般以整型 ...

  3. [Python]peewee 使用经验

    peewee 使用经验 本文使用案例是基于 python2.7 实现 以下内容均为个人使用 peewee 的经验和遇到的坑,不会涉及过多的基本操作.所以,没有使用过 peewee,可以先阅读文档 正确 ...

  4. leetcode — remove-duplicates-from-sorted-list

    /** * Source : https://oj.leetcode.com/problems/remove-duplicates-from-sorted-list/ * * * Given a so ...

  5. MEF 基础简介 一

    前言 小编菜鸟级别的程序员最近感慨颇多,经历了三五春秋深知程序路途遥远而我沧海一粟看不到的尽头到不了的终点何处是我停留的驿站.说了段废话下面进入正题吧! 什么是MEF? MEF:全称Managed E ...

  6. MySQL 笔记整理(3) --事务隔离,为什么你改了我还看不见?

    笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> 3) --事务隔离,为什么你改了我还看不见? 简单来说,事务就是要保证一组数据操作,要么全部成功,要么全部失败.在MySQL中,事务 ...

  7. 37.QT-QTSingleApplication-程序只运行一个实例

    QTSingleApplication由Qt官方提供的,用于实现只启动一个实例,并在启动时可以向向另一个实例通信(依赖于QtNetwork模块) QTSingleApplication下载路径:链接: ...

  8. Elasticsearch系列(4):基本搜索

    空搜索 搜索API的最基础的形式是没有指定任何查询的空搜索 ,它简单地返回集群中所有索引下的所有文档,如下命令: GET /_search 返回如下结果: 查询结果解释: 1,hits 返回结果中最重 ...

  9. MySQL优化COUNT()查询

    COUNT()聚合函数,以及如何优化使用了该函数的查询,很可能是最容易被人们误解的知识点之一 COUNT()的作用 COUNT()是一个特殊的函数,有两种非常不同的作用: 统计某个列值的数量 统计行数 ...

  10. 程序员50题(JS版本)(一)

    程序1:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? for(var i=1,sum=0;i<=4;i++){ for(var j=1;j<=4;j++){ ...