1、字串切割判斷
def
legalip
(ip)
: ip = ip.split(
'.')
m =len(ip)
if m!=4or
(not ip[0]
.isdigit())
orint
(ip[0]
)<=0or
int(ip[0]
)>
255:
print
('illegal'
)else
:for i in
range(1
,m):
if ip[i]
.isdigit(
)and
int(ip[i]
)>=
0and
int(ip[i]
)<=
255:
pass
else
:print
('illegal'
)return
print
('legal'
)if __name__ ==
'__main__'
: ip =
input
('enter a ip:\n'
) legalip(ip)
2、正規表示式匹配
import re
defcheck_ip
(ipaddr)
: compile_ip=re.
compile
('^(1\d|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(1\d|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(1\d|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(1\d|2[0-4]\d|25[0-5]|[1-9]\d|\d)$'
)if compile_ip.match(ipaddr)
:print
('legal'
)else
:print
('illegal'
)if __name__ ==
'__main__'
: ip =
input
('enter a ip:\n'
) check_ip(ip)
ip位址分類(a類 b類 c類 d類 e類)
b類:128.0.0.0-191.255.0.0
c類:192.0.0.0-223.255.255.0
d類:224.0.0.0-239.255.255.255
e類:240.0.0.0-237.255.255.255
ip位址由四段組成,每個欄位是乙個位元組,8位,最大值是255,
ip位址由兩部分組成,即網路位址和主機位址。網路位址表示其屬於網際網路的哪乙個網路,主機位址表示其屬於該網路中的哪一台主機。二者是主從關係。
ip位址的四大型別標識的是網路中的某台主機。ipv4的位址長度為32位,共4個位元組,但實際中我們用點分十進位制記法。
ip位址根據網路號和主機號來分,分為a、b、c三類及特殊位址d、e。 全0和全1的都保留不用。
a類:(1.0.0.0-126.0.0.0)(預設子網掩碼:255.0.0.0或 0xff000000)第乙個位元組為網路號,後三個位元組為主機號。該類ip位址的最前面為「0」,所以位址的網路號取值於1~126之間。一般用於大型網路。
b類:(128.0.0.0-191.255.0.0)(預設子網掩碼:255.255.0.0或0xffff0000)前兩個位元組為網路號,後兩個位元組為主機號。該類ip位址的最前面為「10」,所以位址的網路號取值於128~191之間。一般用於中等規模網路。
c類:(192.0.0.0-223.255.255.0)(子網掩碼:255.255.255.0或 0xffffff00)前三個位元組為網路號,最後乙個位元組為主機號。該類ip位址的最前面為「110」,所以位址的網路號取值於192~223之間。一般用於小型網路。
c 判斷IP位址是否合法
以字串形式輸入n行ip位址,格式為a.b.c.d,每個數字均在 0,255 之間,判斷ip位址是否合法,是輸出yes,否輸出no。輸入樣例 21.2.3.4 172.168.0.300 輸出樣例 yesno 注意 string轉int需要標頭檔案 include include using name...
華為oj 判斷IP位址是否合法
include includeusing namespace std int valid digit char ip str return 1 int is valid ip char ip str else return 0 valid ip string must contain 3 dots ...
判斷輸入的IP位址是否合法
判斷輸入的ip位址是否合法,ip位址的值在0 255之間,先把輸入的ip的位址轉換為乙個字串。define len sizeof xx sizeof xx 0 const char xx const char m int checkipisvalid const char ip char c 4 i...