Python 오류: ValueError: 기본 10인 int()에 대한 잘못된 리터럴: 'xxx', 해결책은 무엇입니까?

WBOY
풀어 주다: 2023-08-27 13:48:27
원래의
2783명이 탐색했습니다.

Python报错:ValueError: invalid literal for int() with base 10: 'xxx',解决方法是?

Python 오류: ValueError: 기본 10인 int()에 대한 잘못된 리터럴: 'xxx', 해결책은 무엇입니까?

Python 프로그래밍에서는 다양한 오류 메시지를 자주 접하게 됩니다. 그중 ValueError는 잘못된 문자를 정수로 변환하려고 하면 ValueError 오류가 발생하는 일반적인 오류 유형입니다. 일반적인 상황은 int() 함수를 사용하여 문자열을 변환할 때 문자열에 숫자가 아닌 문자나 잘못된 숫자 문자가 포함되는 것입니다.

예를 들어

num = int('xxx')
로그인 후 복사

코드를 실행하면 ValueError:잘못된 리터럴 for int() with base 10: 'xxx' 오류 메시지가 나타납니다.

그럼 이 오류를 해결하는 방법은 무엇일까요? 아래에서는 몇 가지 일반적인 솔루션을 소개하겠습니다.

방법 1: 문자열에 숫자가 아닌 문자가 포함되어 있는지 확인

먼저 변환된 문자열에 숫자가 아닌 문자가 포함되어 있는지 확인해야 합니다. 문자열을 정수로 변환하는 것은 문자열 전체가 숫자로 구성된 경우에만 성공할 수 있습니다. isdigit() 메서드를 사용하여 문자열에 숫자만 포함되어 있는지 확인할 수 있습니다.

num_str = 'xxx'
if num_str.isdigit():
    num = int(num_str)
else:
    print("字符串中含有非数字字符")
로그인 후 복사

방법 2: try-Exception 문을 사용하여 예외 포착

또 다른 해결책은 try-Exception 문을 사용하여 예외를 포착하는 것입니다. int() 함수를 사용하여 문자열을 변환하는 동안 try 문을 사용할 수 있으며, Except 블록에서 ValueError 예외를 처리할 수 있습니다.

num_str = 'xxx'
try:
    num = int(num_str)
except ValueError:
    print("字符串无法转换为整数")
로그인 후 복사

방법 3: 정규식을 사용하여 숫자가 아닌 문자 필터링

정규식을 사용하면 숫자가 아닌 문자를 쉽게 필터링할 수 있습니다. 정규식과 결합된 re 모듈의 sub() 함수를 사용하여 문자열에서 숫자가 아닌 문자를 빈 문자열로 바꿀 수 있습니다.

import re

num_str = 'xxx'
num_str = re.sub(r'D', '', num_str)
num = int(num_str)
로그인 후 복사

위는 숫자가 아닌 문자를 피하거나, 예외 처리를 사용하거나, 정규 표현식을 사용하여 숫자가 아닌 문자를 필터링함으로써 ValueError:잘못된 리터럴(기본 10: 'xxx)을 성공적으로 해결할 수 있습니다. '실수.

이 기사가 이 오류를 이해하고 해결하는 데 도움이 되기를 바랍니다!

위 내용은 Python 오류: ValueError: 기본 10인 int()에 대한 잘못된 리터럴: 'xxx', 해결책은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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