大鹏

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

字符串的用法

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
View Code
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
rjust、join、zfill、split、replace的用法,和正则表达式的用法
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、字符串的用法

 

posted on 2022-04-28 06:48  pf42280  阅读(47)  评论(0)    收藏  举报