• python -- 判断给定的参数是否是地理位置的经度和纬度


    例子:

    coordinates = "2.3,-8ui" 无效地理位置
    coordinates = "2.3,-8i" 有效地理位置

    方法一:使用try...except验证精度和纬度能否转化为float,若能,则参数合理;否则不合理:包含英文字符,特殊字符,含有空格等非法情况

    1 def is_valid_coordinates(coordinates):
    2     try:
    3         lat, lng = [abs(float(c)) for c in coordinates.split(',') if 'e' not in c]
    4     except ValueError:
    5         return False
    6 
    7     return lat <= 90 and lng <= 180

    方法二:利用正则表达式验证是否满足条件

    1 import re
    2 
    3 def is_valid_coordinates(coordinates):
    4     return bool(re.match("-?(d|[1-8]d|90).?d*, -?(d|[1-9]d|1[0-7]d|180).?d*$", coordinates))

    方法三:方法二与方法一的结合

    def is_valid_coordinates(coordinates):
        import re
        paraX, paraY = coordinates.split(',')[0].strip(), coordinates.split(',')[1].strip()
        for para in coordinates.split(','):
            pattern = re.compile(r'-?[0-9]*.*[0-9]+$')
            groups = re.findall(pattern, para)
            if not groups:
                return False
        return abs(float(paraX))<=90 and abs(float(paraY))<=180:
  • 相关阅读:
    关于Redis的介绍,使用以及集群
    关于RESTful详解
    关于Nginx——反向代理
    关于RabbitMQ
    关于Nginx——负载均衡
    关于Nginx——配置虚拟主机
    StringBuffer是字符串缓冲区
    数组的查找操作
    获取任意年的二月有多少天
    快速排序算法
  • 原文地址:https://www.cnblogs.com/heiao10duan/p/6423502.html
Copyright © 2020-2023  润新知