EduCoder-Linux与Python编程2021(玩转列表)- 第3关:数值列表:用数字说话

任务描述

本关任务是利用合适的方法快速创建数字列表,并能够对列表中的元素数值进行简单的统计运算。在数据可视化的背景下,数字列表在 Python 列表中的应用十分广泛,列表十分适合存储数字集合。

本关目标是让学习者掌握一些处理数字列表的基本方法,主要包括数字列表的创建、对数字列表进行简单的统计运算等。例如,我们要创建一个从2到10的偶数的数字集合,然后计算出该集合的数值之和:

data_set = [2,4,6,8,10]
sum=30
相关知识
本关可以利用range()、list()、sum()等函数方法来实现我们的目标。

range()函数
Python 提供了range()函数,能够用来生成一系列连续增加的数字。其基本使用语法有如下三种:

range(lower_limit,upper_limit,step)
其中:

lower_limit: 生成系列整数的下限整数,不填该参数则默认为从0开始,生成的整数从此数开始,包括该数;

upper_limit:生成系列整数的上限整数,必填参数,生成的整数要小于该上限;

step:在下限和上限之间生成系列整数之间的间隔步长,不填该参数则默认步长为1。

注意:range()函数的三个参数都只能为整数。如果range()函数中仅一个参数,则该参数表示upper_limit,如果仅两个参数,则分别表示lower_limit和upper_limit。

例如,要生成1~6之间步长为2的系列整数:

for i in range(1,6,2):
print(i)
输出结果:

1
3
5
基于range()函数创建数字列表
我们可以通过range()函数,利用 Python 列表提供的append()插入功能创建一个列表。例如,我们要创建一个包含10个0~9整数的平方的列表:

声明一个列表变量
numbers = []
利用append()函数和range()函数向列表插入目标元素
for i in range(10):
number = i**2
numbers.append(number)
print(numbers)
输出结果:

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
使用list()函数和range()函数创建数字列表
我们可以利用list()函数将range()生成的系列数字直接转为列表,这时range()函数的返回值将会作为list()函数的参数,输出为一个数字列表。其基本使用语法如下:

data_list = list(range(lower_limit,upper_limit,step))
其中:

list:列表函数的语法关键词;

range:函数语法关键词;

data_list:最终生成的列表变量。

例如,我们要生成并输出1~5的数字列表:

data_list = list(range(1,6))
print(data_list)
输出结果:

[1,2,3,4,5]
对数字列表进行简单的统计运算
Python 中有一些专门处理数字列表简单的统计运算的函数,利用这些函数可以轻松找到数字列表的最小值、最大值及进行总和等一系列统计运算。其基本语法如下:

min_value = min(data_list)
max_value = max(data_list)
sum_value = sum(data_list)
其中:

min:数字列表求最小值的语法关键字;

max:数字列表求最大值的语法关键字;

sum:数字列表求和的语法关键字。

具体使用示例如下:

numbers = [2,4,11,1,21,32,5,8]
print(‘The min number is’,min(numbers))
print(‘The max number is’,max(numbers))
print(‘The sum is’,sum(numbers))
输出结果:

The min number is 1
The max number is 32
The sum is 84
如果您想了解更多有关列表操作的相关知识,请参考:【美】 Eric Matthes 著《 Python 编程——从入门到实践》第三章。

编程要求

编程任务是补全src/Step3/numbers_square.py文件的代码内容,实现如下功能:

step1:根据给定的下限数lower, 上限数upper以及步长step,利用range函数生成一个列表;

step2:计算该列表的长度;

step3:求该列表中的最大元素与最小元素之差。

本关的代码文件src/Step3/numbers_square.py的代码框架如下:

coding=utf-8
创建并读入range函数的相应参数
lower = int(input())
upper = int(input())
step = int(input())
请在此添加代码,实现编程要求
########## Begin ##########
########## End ##########
评测说明
本关的测试文件是src/Step3/numbers_square.py,测试过程如下:

平台自动编译并运行numbers_square.py,并以标准输入方式提供测试输入;

平台获取程序输出,并将其输出与预期输出对比。如果一致则测试通过,否则测试失败。

以下是平台对src/Step3/numbers_square.py的样例测试集:

测试输入:

25
90
4
预期输出:

17
64

# coding=utf-8

# 创建并读入range函数的相应参数
lower = int(input())
upper = int(input())
step = int(input())

# 请在此添加代码,实现编程要求
########## Begin ##########
my_list = []
for i in range(lower, upper, step):
   my_list.append(i) 
print(len(my_list))
print(max(my_list) - min(my_list))
########## End ##########
  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值