Python数据结构与算法23:基本结构:编程练习题5

:本文如涉及到代码,均经过Python 3.7实际运行检验,保证其严谨性。

本文阅读时间约为4分钟

基本结构编程练习题5:最近的请求次数

计算每个事件发生之时,往前算10000毫秒内有多少个事件发生,包含当事件;也即对于列表中的每个元素k,算出整个列表中有多少个元素介于k-10000和k(两端均含)之间。

输入格式:

一个已排序列表mylist,所有元素为非负整数,记录各个请求的发生时间,单位为毫秒。

输出格式:

一个与mylist等长的列表。

输入样例:

[0,10,100,1000,10000,20000,100000]

输出样例:

[1,2,3,4,5,2,1]

代码模板(建议复制粘贴使用):

def func(mylist):
    # your code here
    return output
     
mylist = eval(input())
print(func(mylist))

解答:参考代码如下:

def func(l):
    '''
    l:列表类型,输入的一个已排序的列表,里面所有元素都为非负整数。
    '''
    l1 = []  # 新建一个列表l1,用来装符合要求的数据并最终输出题意要求的答案。     
    for k in l:
        count = 0
        for i in l:    
            # 对于列表中的每个元素k,算出整个列表中有多少个元素介于k-10000和k(两端均含)之间。
            if i in range(k-10000, k+1):                
                count += 1
        l1.append(count)
          
    return l1
    
l = eval(input())
print(func(l))

To be continued.

你可能感兴趣的:(Python数据结构与算法23:基本结构:编程练习题5)