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