字符串的用法
1、rjust、join、zfill、split、replace的用法,和正则表达式的用法 HJ33
import re def change_ipaddr(ip): ip = ip.split(".") res = '' for i in ip: i = bin(int(i))[2:].rjust(8,'0') res +=i return int(res,2) def change_number(number): ip_list = [] data = bin(int(number))[2:].rjust(32,'0') data = re.findall(r'.{8}',data) for i in data: ip_list.append(str(int(i,2))) return '.'.join(ip_list) while True: try: num = change_ipaddr(input()) ip = change_number(input()) print(num) print(ip) except: break
def funX(s): l1=[] #print(s) ss='' for i in s: a=str(bin(int(i)))[2:].zfill(8) # print(a) l1.append(a) b = ''.join(l1) print(int(b,2)) def funY(s2): b = bin(int(s2)) b=b[2:].zfill(32) #print(b[2:].zfill(32)) n =f'{int(b[:8],2)}.{int(b[8:16],2)}.{int(b[16:24],2)}.{int(b[24:],2)}' print(n) while True: try: s = input().split('.') funX(s) s2 = input() funY(s2) except: break ###################################################### def func(lst): s="" for i in lst: s+=i.replace('0b','').zfill(8) print(int(s,2)) def fc(s2): s = bin(int(s2)) s=s.replace('0b','').zfill(32) n = f'{int(s[:8],2)}.{int(s[8:16],2)}.{int(s[16:24],2)}.{int(s[24:],2)}' print(n) while 1: try: s = [bin(int(i)) for i in input().split('.')] func(s) s2 = input() fc(s2) except: break
28 #这个还是对那个重复性不一定就是3,每处理好 29 30 def check(pw): 31 if len(pw) <= 8: # 判断密码的长度 32 return False 33 34 checks = [0, 0, 0, 0] # 四种情况满足三种的辅助列表 35 for c in pw: 36 if c.isupper(): # 大写字母 37 checks[0] = 1 38 elif c.islower(): # 小写字母 39 checks[1] = 1 40 elif c.isdigit(): # 数字 41 checks[2] = 1 42 else: # 其他字符 43 checks[3] = 1 44 if sum(checks) < 3: 45 return False 46 47 for i in range(len(pw) - 2): # 循环遍历找到子字符串的起点 48 if pw[i:i + 3] in pw[i + 3:]: # 在剩下的字符串中顺序查找匹配当前字符串 49 return False 50 51 return True 52 53 54 while True: 55 try: 56 pw = input() 57 if check(pw): 58 print('OK') 59 else: 60 print('NG') 61 except: 62 break
2、字符串的用法

浙公网安备 33010602011771号