IP地址统计

提交数: 646, 通过率: 55.11%, 平均分: 66.17

题目描述:

IP地址是一个32位的二进制数,通常被分割成4个“8位二进制数”。IP地址通用用“点分十进制”表示成a.b.c.d的形式,其中a,b,c,d均为0~255之间的十进制数。如点分十进制IP地址100.4.5.6,实际上是32位二制数01100100.00000100.00000101.00000110。

现在给定一批IP日志数据,形如:172.31.31.2 -- [04/Jun/2019:06:30:10 +0800]。

试统计出现次数最多的IP地址。

输入格式:

第一行一个数T。

接下来T行,每行一个IP地址的日志数据。

输出格式:

一行内容,先是出现最多的IP地址,然后输出最多的次数,两项内容用一个空格隔开。

样例输入:

5
172.31.31.2 -- [04/Jun/2021:06:30:10 +0800]
172.31.31.2 -- [04/Jun/2021:06:31:15 +0800]
172.31.31.2 -- [04/Jun/2021:06:33:22 +0800]
172.131.1.50 -- [04/Jun/2021:07:30:10 +0800]
172.131.1.50 -- [04/Jun/2021:07:30:50 +0800]

样例输出:

172.31.31.2 3

提示:

算法提示:

def showmax( list ):
    p = 0
    max = 0
    #请在下面完善代码


    return list[p], max    #以元组的形式返回

ips = [ ]
T = int( input() )
for i in range( T ):
    line = input()
    ip = line.split( )[ 0 ]
    ips.append( ip )

x = list( showmax( ips ) )  #返回的元组,建一个列表
print( x[0], x[1] )
时间限制: 1000ms
空间限制: 256MB

来源: 省编作业本1-P76