Python 정규 표현식 - 입력이 부동 소수점인지 확인

WBOY
풀어 주다: 2023-09-15 16:09:03
앞으로
1199명이 탐색했습니다.

Python正则表达式 - 检查输入是否为浮点数

부동 소수점 숫자는 수학적 계산부터 데이터 분석까지 다양한 프로그래밍 작업에서 중요한 역할을 합니다. 그러나 사용자 입력이나 외부 소스의 데이터를 처리할 때는 입력이 유효한 부동 소수점 숫자인지 확인하는 것이 중요합니다. Python은 이러한 문제를 해결하기 위한 강력한 도구를 제공하며, 그 중 하나가 정규식입니다.

이 기사에서는 Python에서 정규식을 사용하여 입력이 부동 소수점 숫자인지 확인하는 방법을 살펴보겠습니다. 정규식(종종 regex라고 함)은 패턴을 정의하고 텍스트에서 일치하는 항목을 검색하는 간결하고 유연한 방법을 제공합니다. 정규식을 활용하면 부동 소수점 형식과 정확히 일치하는 패턴을 구성하고 그에 따라 입력의 유효성을 검사할 수 있습니다.

이 기사에서는 Python에서 정규식을 사용하여 입력이 부동 소수점 숫자인지 확인하는 방법을 살펴보겠습니다. 정규식(종종 regex라고 함)은 패턴을 정의하고 텍스트에서 일치하는 항목을 검색하는 간결하고 유연한 방법을 제공합니다. 정규식을 활용하면 부동 소수점 형식과 정확히 일치하는 패턴을 구성하고 그에 따라 입력의 유효성을 검사할 수 있습니다.

부동소수점 숫자 이해

부동소수점 숫자는 컴퓨터 시스템에서 실수를 나타내는 데 사용되는 데이터 유형입니다. 소수점은 다양한 크기의 숫자를 나타내기 위해 "부동"할 수 있기 때문에 "부동 소수점"이라고 합니다. Python에서 부동 소수점 숫자는 float 데이터 유형을 사용하여 표현됩니다.

부동 소수점 숫자는 정수 부분과 소수 부분을 모두 가질 수 있으며 양수 또는 음수일 수 있습니다. 일반적으로 m.n 형식으로 작성됩니다. 여기서 m은 정수 부분을 나타내고 n은 소수 부분을 나타냅니다. 예를 들어, 3.14와 -0.5는 유효한 부동 소수점 숫자입니다.

그러나 컴퓨터 하드웨어 제한으로 인해 모든 소수 표현이 부동 소수점 숫자로 정확하게 표현될 수는 없다는 점에 유의하는 것이 중요합니다. 이는 때때로 부동 소수점 숫자와 관련된 계산에서 예상치 못한 결과를 초래할 수 있습니다. 따라서 입력의 유효성을 검사하고 예상 형식을 준수하는지 확인하는 것이 중요합니다.

다음 섹션에서는 정규식을 살펴보고 이를 사용하여 입력이 유효한 부동 소수점 숫자인지 확인하는 방법을 알아봅니다.

정규식 소개

정규식(종종 regex로 축약됨)은 패턴 일치 및 텍스트 조작을 위한 강력한 도구입니다. 패턴을 정의하고 문자열에서 특정 문자 시퀀스를 검색하는 간결하고 유연한 방법을 제공합니다.

Python에서 re 모듈은 정규식을 사용하기 위한 함수와 메서드를 제공합니다. 정규식의 강력한 기능을 활용하여 입력이 유효한 부동 소수점 숫자인지 확인할 수 있습니다.

정규식을 사용하여 부동 소수점 숫자의 유효성을 검사하려면 예상 형식과 일치하는 패턴을 정의해야 합니다. 패턴의 주요 구성 요소는 다음과 같습니다

  • 선택적 기호 숫자는 선택적인 양수(+) 또는 음수(-) 기호로 시작할 수 있습니다.

  • 정수 부분 숫자에는 하나 이상의 숫자로 구성될 수 있는 선택적 정수 부분이 있을 수 있습니다.

  • 선택적 소수점 숫자에는 정수 부분과 소수 부분을 구분하기 위해 선택적인 소수점(.)이 포함될 수 있습니다.

  • 소수 부분 숫자에는 하나 이상의 숫자로 구성된 선택적 소수 부분이 있을 수 있습니다.

  • ExComponent 숫자에는 문자 "e" 또는 "E"로 표시되는 선택적 지수 부분이 있을 수 있으며 그 뒤에는 선택적 기호와 하나 이상의 숫자가 옵니다.

이러한 구성 요소를 포함하는 정규식 패턴을 구성하면 입력 문자열이 부동 소수점 패턴과 일치하는지 효과적으로 확인할 수 있습니다.

다음 섹션에서는 정규식을 사용하여 부동 소수점 숫자를 확인하는 Python 프로그램의 구현을 살펴보겠습니다.

부동소수점 숫자를 확인하는 Python 프로그램

Python에서 정규식을 사용하여 주어진 입력이 부동 소수점인지 확인하려면 다음 단계를 따르세요

  • re 모듈 가져오기 먼저 정규식 사용을 위한 함수와 메서드를 제공하는 re 모듈을 가져옵니다.

  • 정규식 패턴 정의 부동 소수점 숫자의 예상 형식과 일치하는 정규식 패턴을 만듭니다. 이 모드는 입력을 검증하는 데 사용됩니다.

  • Create Function 입력 문자열을 매개변수로 사용하는 is_float라는 함수를 정의해 보겠습니다.

  • 일치 패턴 re.match() 함수를 사용하여 입력 문자열을 정규식 패턴과 일치시킵니다. 이 함수는 패턴이 문자열과 일치하면 일치 개체를 반환하고, 일치하지 않으면 None을 반환합니다.

  • 일치하는 항목이 있는지 확인하세요 if 문을 사용하여 일치하는 개체가 None이 아닌지 확인하세요. None이 아닌 경우 입력 문자열은 유효한 부동 소수점 숫자입니다.

  • Return result if 문 내에서 True를 반환하여 입력이 부동 소수점 숫자임을 나타냅니다. 그렇지 않으면 False를 반환합니다.

이제 모두 정리하고 정규 표현식을 사용하여 부동 소수점 숫자를 확인하는 Python 코드를 작성해 보겠습니다.

으아아아

위 코드에서는 정규식 패턴 r'^[-+]?[0-9]*.?[0-9]+([eE][-+]?[0-9 ] +)를 정의합니다. ?$'는 부동 소수점 숫자의 예상 형식과 일치합니다. re.match()를 사용하여 입력 문자열을 패턴과 일치시키고 일치하면 True를 반환합니다.

다음 섹션에서는 몇 가지 예제 입력을 사용하여 is_float() 함수를 테스트하여 작동 방식을 살펴보겠습니다.

테스트 프로그램

다음은 시도할 수 있는 몇 가지 테스트 사례입니다. -

  • 테스트 사례 1

    • Enter “3.14”

    • 예상 출력 정확함

    • Explanation 입력이 유효한 부동 소수점 숫자입니다.

  • 테스트 사례 2

    • Enter "-0.5"

    • 预期输出 正确

    • 说明 输入是有效的浮点数。

  • 测试用例 3 

    • 输入  “10”

    • 预期输出  错误

    • 说明 输入不是浮点数,因为它没有小数部分。

  • 测试用例 4 

    • 输入 “abc”

    • 预期输出 错误

    • 说明 输入不是浮点数,因为它包含非数字字符。

  • 测试用例 5

    • 输入 “1.23e-4”

    • 预期输出  正确

    • 说明 输入是以科学计数法表示的有效浮点数。

您可以通过使用这些输入调用 is_float() 函数并将输出与预期结果进行比较来测试程序。如果输出与所有测试用例的预期结果相匹配,则表明程序运行正常。

# Testing the program
print(is_float("3.14"))        # Expected output: True
print(is_float("-0.5"))        # Expected output: True
print(is_float("10"))          # Expected output: False
print(is_float("abc"))         # Expected output: False
print(is_float("1.23e-4"))     # Expected output: True
로그인 후 복사

结论

在本文中,我们探讨了如何在 Python 中使用正则表达式来检查给定输入是否为浮点数。我们了解了正则表达式在模式匹配中的重要性以及如何应用它们来验证数字输入。

我们首先了解浮点数的特征以及它们的常见表示格式。然后,我们深入研究 is_float() 函数的实现,使用正则表达式检查浮点数。我们还讨论了使用 re.match() 函数进行精确字符串匹配的重要性。

通过使用多个测试用例对程序进行测试,我们确保了其可靠性,并验证了它能够正确识别浮点数,同时拒绝无效输入。

위 내용은 Python 정규 표현식 - 입력이 부동 소수점인지 확인의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿