美文网首页
May 8th_day17_homework

May 8th_day17_homework

作者: 3ae1c50960af | 来源:发表于2019-05-09 10:09 被阅读0次

    question1. 写一个正则表达式判断一个字符串是否是ip地址

    规则:一个ip地址由4个数字组成,每个数字之间用.连接。每个数字的大小是0-255
    255.189.10.37 正确
    256.189.89.9 错误

    import re
    str1 = input('请输入一个ip地址:')
    if re.fullmatch(r'\d+\.\d+\.\d+\.\d+', str1):
        list1 = str1.split('.')
        for value in list1:
            if int(value) > 255:
                print(str1, '错误')
                break
        else:
            print(str1, '正确')
    else:
        print(str1, '错误')
    """
    请输入一个ip地址:255.249.239.159
    255.249.239.159 正确
    """
    

    question2. 计算一个字符串中所有的数字的和

    例如:字符串是:‘hello90abc 78sjh12.5’ 结果是90+78+12.5 = 180.5

    # str2 = input('请输入一个ip地址:')
    str2 = 'hello90abc 78sjh12.5 .55...'
    list2 = re.findall(r'\d+\.\d+|\.\d+|\d+\.|\d+', str2)
    temp_str = ''
    temp_float = 0
    for value in list2[0:-1]:
        temp_str = temp_str + value + '+'
        temp_float += float(value)
    temp_str = temp_str + list2[-1] + ' ='
    temp_float += float(list2[-1])
    print("字符串:'%s'的结果是%s %.2f" % (str2, temp_str, temp_float))
    """
    字符串:'hello90abc 78sjh12.5 .55...'的结果是90+78+12.5+.55 = 181.05
    """
    

    question3.验证输入的内容只能是汉字

    str3 = '哈哈哈啦啦啦'
    if re.fullmatch(u'[\u4e00-\u9fa5]+', str3):
        print('"', str3, '"', '全是汉字', sep='')
    else:
        print('"', str3, '"', '不全是汉字', sep='')
    """
    "哈哈哈啦啦啦"全是汉字
    """
    

    question4.电话号码的验证

    # number = input('请输入一个电话号码:')
    number = '13712341234'
    with open('phone_number.txt') as f:
        content = f.read()
    list3 = re.findall(r'\d\d\d', content)
    list4 = list(set(list3))
    list3 = list4.copy()
    """方法1:强行正则表达式"""
    for index in range(0, len(list4)):
        list4[index] = list4[index] + '\d{8}'
    # print(list4)
    for index in list4:
        if re.fullmatch(r'%s' % index, number):
            print(number, ':是电话号码', sep='')
            break
    else:
        print(number, ':不是电话号码', sep='')
    """方法2:正常"""
    if number[0:3] in list3:
        print(number, ':是电话号码', sep='')
    else:
        print(number, ':不是电话号码', sep='')
    """
    13712341234:是电话号码
    13712341234:是电话号码
    """
    

    相关文章

      网友评论

          本文标题:May 8th_day17_homework

          本文链接:https://www.haomeiwen.com/subject/xlmioqtx.html