python练习题

Posted 菜小鱼~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python练习题相关的知识,希望对你有一定的参考价值。

题目:

根据一个字符串返回一个ip数组,按照ip最后一位排序, 字符串:  

str = ss192.0.0.12?!289.0.0.1!0.0.0.0!192.163.10.28?192.0.0.5

 

用了一个笨方法,先取一个ip,然后去掉 前后的非汉字,再去循环取,代码如下:

技术图片
 1 str = ss192.0.0.12?!289.0.0.1!0.0.0.0!192.163.10.28?192.0.0.5
 2 str1 = .
 3 
 4 def getIp(str):
 5     ‘‘‘
 6     返回 字符串中第一个ip以及最后的位置
 7     :param str: 
 8     :return: ip、下一个位置
 9     ‘‘‘
10     # 获取第一个点的下标
11     num1 = int(str.index(str1))
12 
13     #取三位,少于三位的取全部
14     if num1 >=3:
15         ip1 = str[num1-3:num1]
16     else:
17         ip1 = str[0:num1]
18 
19     #判断第一位数字出现的位置,并获取ip第一数字的下标
20     if len(ip1)==3:
21         if ip1[1:2].isdigit():
22             if ip1[:1].isdigit():
23                 i1 = num1 - 3
24             else:
25                 i1 = num1 - 2
26         else:
27             i1 = num1 - 1
28     elif len(ip1)==2:
29         if ip1[:1].isdigit():
30             i1 = num1 - 2
31         else:
32             i1 = num1 - 1
33     else:
34         i1 = num1-1
35 
36     #获取第二、三个点的下标
37     num2 = int(str.index(str1,num1+1))
38     num3 = int(str.index(str1, num2 + 1))
39 
40     ip4 = str[num3+1:num3+4]
41     # 判断最后一位数字出现的位置,并获取ip第一数字的下标
42     if ip4[1:2].isdigit():
43         if ip4[2:].isdigit():
44             i4 = num3+3
45         else:
46             i4 = num3 + 2
47     else:
48         i4 = num3 + 1
49 
50     ip = str[i1:i4+1]
51     i = i4+1
52 
53     return ip,i
54 
55 def getAllIp(str):
56     ‘‘‘
57     返回所有ip
58     :param str: 
59     :return: 返回 str中出现的ip
60     ‘‘‘
61     i = 0
62     ip = []
63     while str.count(str1)>=3:
64         res = getIp(str)
65         ip.append(res[0])
66         i = res[1]
67         str = str[i:]
68 
69     return ip
70 
71 def strLast(str):
72     ‘‘‘
73     根据ip最后一个数字排序
74     :param str: 
75     :return: 
76     ‘‘‘
77     return str[-1:]
78 
79 l1 =  getAllIp(str)
80 l2 = sorted(l1,key=strLast)
81 print l1
82 print l2
View Code

 

以上是关于python练习题的主要内容,如果未能解决你的问题,请参考以下文章

Python matplotlib 基础练习:画出正弦曲线等

spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段

常用python日期日志获取内容循环的代码片段

python 有用的Python代码片段

Python 向 Postman 请求代码片段

csharp Epicor标准练习片段