计算列表中的偶数和

【问题描述】Exv100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

请产生一个列表,保存0~100的整数(包含0和100),输出列表的所有偶数和。Exv100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

计算列表中的偶数和输出结果:Exv100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

100以内的偶数和=2550Exv100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【题前思考】Exv100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

根据问题描述,填写表4-1-4。Exv100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

表4-1-4 问题分析Exv100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

计算列表中的偶数和Exv100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【解题思路】Exv100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

计算0~100的所有偶数和,首先需要定义一个变量来保存偶数和,其初值需要置为0;然后依次判断各个数是否是偶数,如果是偶数,则将其与保存“和”的变量相加;最后再按要求的格式输出结果。Exv100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【程序代码】Exv100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

计算列表中的偶数和Exv100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【代码分析】Exv100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

①:产生0~100的列表,将其保存在列表a中,range(101)表示列表右边界的范围,但不包含101。Exv100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

②:表示对列表a中的每一个项i执行循环体中的操作。if i % 2==0:s +=i,判断i是否能被2整除,如果能被2整除,则与s相加,最后s保存了0~100的所有偶数和。Exv100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

③:按格式输出结果s,f表示格式化输出数据,字符串中的内容原样输出,{s}表示输出变量s的值。Exv100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【优化提升】Exv100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

0~100的最小的偶数是0,相邻两个偶数之间的大小相差2,因此可以只产生0~100的偶数列表,使用函数sum( )来计算列表和。有以下几种优化的方法:Exv100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

(1)sum([i for i in range(101)if i % 2==0])表示产生0~100满足条件i % 2==0的序列,并用sum( )函数求和。列表推导的[ ]可以改为( )表示生成器表达式,即不会一次产生所有项,而是读取一项才产生一项。如果将生成器用作函数参数可省略( )。上式用生成器可写为sum(i for i in range(101)if i % 2==0)。Exv100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

(2)sum([2*i for i in range(51)])表示产生0~50的整数i,再用i*2构成列表,就得到了100以内的所有偶数,最后调用sum( )函数求这些偶数之和。Exv100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

(3)sum(2*i for i in range(51))表示对列表生成器(2*i for i in range(51))求和,列表生成器用作参数时可以省略外面的圆括号。生成器与列表不同的地方在于,生成器不保存项,只在访问到相应的项时才会去计算这个项,而列表会将各个项存放到内存。Exv100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

(4)sum([i for i in range(0,101,2)])或sum(i for i in range(0,101,2)),range( )函数的第3个参数表示步长,即从第一个参数开始,每次加几。在这个例子中步长2表示从第一个参数0开始每次加2,就得到了100以内的所有偶数。注意:第一个语句是对列表求和,第二个语句是对生成器求和。Exv100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

关 键 词

列表

相关教程

提示声明

  • 免责声明:本站资源均来自网络或者用户投稿,仅供用于学习和交流:如有侵权联系删除!

猜你喜欢