class IPAddress: ip_address="" def __init__(self, string): #validate IP address valid_ip = True; invalid_reason = "" add_arr = string.split(".") add_int_arr = [] if len(add_arr) != 4: valid_ip = False invalid_reason = "Invalid IP address: Length of IP is not correct" for add in add_arr: try: add_int_arr.append(int(add)) except ValueError: valid_ip = False invalid_reason = "Invalid IP address: The input contains none number characters" if valid_ip == True: first_add, second_add, third_add, fourth_add = add_int_arr if (first_add < 1) or (first_add > 255): valid_ip = False invalid_reason = "Invalid IP address: The input IP address contains invalid number" for add in (second_add, third_add, fourth_add): if (add < 0) or (add > 255): print add valid_ip = False invalid_reason = "Invalid IP address: The input IP address contains invalid number" if valid_ip == True: self.ip_address=string else: assert (valid_ip), invalid_reason def IPDec2Bin(self): ip_arr = self.ip_address.split(".") ip_bin_str = "" for ip in ip_arr: ip_bin_str = ip_bin_str + "{:08b}".format(int(ip)) + "." return ip_bin_str[0:len(ip_bin_str)-1]
#application script IP = IPAddress("103.88.17.23") final_ip_bin_str =IP.IPDec2Bin() print "{:<15} {:<45}".format("IP address", "Binary") print "{:<15} {:<45}".format(IP.ip_address, final_ip_bin_str)
No comments:
Post a Comment