zoukankan      html  css  js  c++  java
  • 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:
  • 相关阅读:
    Bzoj3339 Rmq Problem
    Bzoj3509 [CodeChef] COUNTARI
    浅析python日志重复输出问题
    mysql练习题
    python学习之思维导图
    python面向对象编程练习
    Python常见下划线
    内置方法
    类的绑定方法与非绑定方法
    封装
  • 原文地址:https://www.cnblogs.com/heiao10duan/p/6423502.html
Copyright © 2011-2022 走看看