1.案例描述
按照52周存钱法,存钱人必须在一年52周内,每周递存10元。例如,第一周存10元,第二周存20元,第三周存30元,直到第52周存520元。
记录52周后能存多少钱?即10+20+30+...+520=13780
2.0增加功能:记录每周存款金额(使用list)
2.案例分析
输入:每周递存金额(10元)和挑战总周数(52周)
处理:账户累计+=每周存入金额;每周存入金额 +=每周递存金额。从第1周开始循环,到52周结束。
输出:第几周,存入多少元,累计账户多少钱?
3.列表定义与访问
列表是有序的元素集合,可以通过下标索引来访问单个值,也可以使用方括号的形式访问多个值,索引下标从0开始。列表中每个元素类型可以不同。
#列表定义
list1 = ['physics', 'chemistry', 1997, 2000] #一个列表含多种不同类型的元素
list2 = [1, 2, 3, 4, 5, 6, 7 ]
list3 = ["a", "b", "c", "d"]
#列表访问print list1[0] #访问单个值,返回值为physics
print list2[1:5] #访问多个值,返回值为[2, 3, 4, 5]
4.列表脚本操作符(list)
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。
len([1, 2, 3]) # 列表长度,值为3
[1, 2, 3] + [4, 5, 6] # 合并连接两个列表,值为[1, 2, 3, 4, 5, 6]
['Hi!'] * 4 # 重复n次列表内容,值为['Hi!', 'Hi!', 'Hi!', 'Hi!']
3 in [1, 2, 3] # 元素是否存在于列表中,True
for x in [1, 2, 3]: print x # 迭代,值为1 2 3
5.列表函数和方法(list)
列表操作符 | 含义 |
list1.append(x) | 将x添加到列表末尾 |
list1.sort() | 对列表元素排序 |
list1.reverse() | 将列表元素逆序 |
list1.index(x) | 返回第一次出现元素x的索引值 |
list1.count(x) | 返回元素x在列表中的数量 |
list1.remove(x) | 删除列表中第一次出现的元素x |
list1.insert(i,x) | 在位置i处插入新元素x |
list1.pop(i) | 取出位置i上的元素,并将其删除 |
del list1[i] | 删除第i个元素 |
max(list1) | 取出最大的元素 |
min(list1) | 取出最小的元素 |
list(seq) | 将元组转换为list |
6.math库函数
函数 | 含义 |
math.pi | 圆周率 |
math.ceil(x) | 对x向上取整 |
math.floor(x) | 对x向下取整 |
math.pow(x,y) | x的y次方 |
math.sqrt(x) | x的平方根 |
math.fsum(list1) | 对集合内元素求和 |
7.课后练习
list =[1,2,3,4,5]
print(list[8:]) #结果为[] a = [1,2,3,4,5]
print(range(len(a))) #结果为range(0, 5) a = [1,2,3,4,5]
print(list(range(len(a)))) #结果为[0, 1, 2, 3, 4]
参考文档: