【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()
【Python 23】52周存钱挑战3.0(循环计数for与range)的更多相关文章
- 【Python 21】52周存钱挑战1.0
1.案例描述 按照52周存钱法,存钱人必须在一年52周内,每周递存10元.例如,第一周存10元,第二周存20元,第三周存30元,直到第52周存520元. 记录52周后能存多少钱?即10+20+30+. ...
- 【Python 24】52周存钱挑战4.0(函数)
1.案例描述 按照52周存钱法,存钱人必须在一年52周内,每周递存10元.例如,第一周存10元,第二周存20元,第三周存30元,直到第52周存520元. 记录52周后能存多少钱?即10+20+30+. ...
- 【Python 25】52周存钱挑战5.0(datetime库和import)
1.案例描述 按照52周存钱法,存钱人必须在一年52周内,每周递存10元.例如,第一周存10元,第二周存20元,第三周存30元,直到第52周存520元. 记录52周后能存多少钱?即10+20+30+. ...
- 【Python 22】52周存钱挑战2.0(列表list和math函数)
1.案例描述 按照52周存钱法,存钱人必须在一年52周内,每周递存10元.例如,第一周存10元,第二周存20元,第三周存30元,直到第52周存520元. 记录52周后能存多少钱?即10+20+30+. ...
- 从今天开始每天刷一题,并写在这里 分类: ACM 2015-06-16 23:52 14人阅读 评论(0) 收藏
开始什么题都可以,后面会加大难度. 每天! 如果有一天有特殊情况,也要来这里打卡,并说明原因,并在其他某一天补上! 版权声明:本文为博主原创文章,未经博主允许不得转载.
- python课程第二周重点记录
python课程第二周重点记录 1.元组的元素不可被修改,元组的元素的元素可以被修改(字典在元组中,字典的值可以被修改) 2.个人感觉方便做加密解密 3.一些方法的使用 sb = "name ...
- Python-week2,第二周(基于Python3.0以上)
1,列表 存储数据我们可以使用变量,但是当有很多个数据的时候用变量就会出现很多的局限性,所以这时候就用到了列表.列表就是中括号里每个元素使用逗号隔开.列如 [1,2,3] 这就是一个列 ...
- Python学习第一周
一.我的第一个程序 print("Hello word!") 所以说python是一款非常简洁的语言,不像c,c++等等写一个简单的小程序还要调用一堆库.另外,python 3的版 ...
- 利用python完成大学刷课(从0到完成的思路)
i春秋作家:tllm 原文来自:利用python完成大学刷课(从0到完成的思路) 最近刚刚开学,学校总是有很多让人无语的课要修,还不能不修.然后我想写一个自动修课的脚本.大佬们不要笑我 是边面向百度学 ...
随机推荐
- redis 系列25 哨兵Sentinel (高可用演示 下)
一. Sentinel 高可用环境准备 1.1 Sentinel 集群环境 环境 说明 操作系统版本 CentOS 7.4.1708 IP地址 172.168.18.200 网关Gateway 1 ...
- Python爬虫入门教程 22-100 CSDN学院课程数据抓取
1. CSDN学院课程数据-写在前面 今天又要抓取一个网站了,选择恐惧症使得我不知道该拿谁下手,找来找去,算了,还是抓取CSDN学院吧,CSDN学院的网站为 https://edu.csdn.net/ ...
- Spring Boot分布式系统实践【2】-框架搭建
前言 技术选型已经做完,那就来搭建框架了. 首先基于mvc思想,设计这套框架也是基于此,也会设计Dao层.Service层.Controller层.视图层等,同时也要考虑到dubbo的调用原理. ...
- import 和 export
1.export 命令 export 命令用于规定模块的对外接口. 一个模块就是一个独立的文件.该文件内部所有的变量,外部无法获取.要想外部能够读取模块内部的某个变量,就必须使用 export 关键字 ...
- ELK-Elasticsearch安装
1.安装JDK必须安装JDK并且要求版本至少是1.8以上包含1.8的版本. 2.创建 es 用户这里需要注意的是,es 规定 root 用户不能启动 es,所以需要创建一个用户来启动 es # 创建用 ...
- Android单个控件占父控件宽度一半且水平居中
前些天,在工作中遇到了一个需求:一个“加载上一页”的按钮宽度为父控件宽度一半,且水平居中于父控件中. 在此给出两种思路: 1.直接在Activity代码中获取到当前父控件的宽度,并将此按钮宽度值设置成 ...
- C#反射与特性使用简介
本文是学习特性与反射的学习笔记,在介绍完特性和反射之后,会使用特性与反射实现一个简单的将DataTable转换为List的功能,水平有限,如有错误,还请大神不吝赐教. 1. 反射:什么是反射 ...
- C#设计模式之二工厂方法模式(Factory Method Pattern)【创建型】
一.引言 在上一篇文章中我们讲解了过渡的一种模式叫做[简单工厂],也有叫[静态工厂]的,通过对简单工厂模式得了解,我们也发现了它的缺点,就是随着需求的变化我们要不停地修改工厂里面的方法的代码,需求变化 ...
- BOM简单知识
JS分为ECMAScript,DOM,BOM BOM是用来和浏览器进行‘’对话‘’的 一:与window对象进行交互: 1.查看用户信息: window.navigator.userAgent; 可以 ...
- 2-SAT速成
本文只做总结性说明 2-SAT 2-SAT是k-SAT问题的一种,k-SAT问题在\(k>=3\)时已经被证明是NP完全问题 2-SAT问题定义比较简单 有n个布尔变量\(x_1-x_n\).给 ...