"TypeError 해결: -: 'str' 및 'int'에 대해 지원되지 않는 피연산자 유형"
코딩을 시도할 때 Python에서는 "TypeError: -: 'str' 및 'int'에 대해 지원되지 않는 피연산자 유형" 오류와 같은 오류가 발생하는 것은 드문 일이 아닙니다. 이 오류는 일반적으로 문자열에서 정수 빼기 등 다양한 데이터 유형에 대한 수학적 연산을 수행하려고 할 때 발생합니다.
이 오류를 이해하려면 오류를 발생시킨 코드를 살펴보겠습니다.
def cat_n_times(s, n):
while s != 0:
print(n)
s = s - 1
text = input("What would you like the computer to repeat back to you: ")
num = input("How many times: ")
cat_n_times(num, text)
여기서 문제는 텍스트와 숫자 모두에 대한 문자열을 반환하는 입력 함수에 있습니다. 코드가 문자열(num)에서 정수(s - 1)를 빼려고 시도하는 동안 오류가 발생합니다.
해결책 1: 입력 변환
One 해결책은 수학 연산을 수행하기 전에 입력을 문자열에서 정수로 변환하는 것입니다. 이는 int() 함수를 사용하여 수행할 수 있습니다:
num = int(input("How many times: "))
num을 정수로 변환하여 다음을 보장할 수 있습니다. s.
를 사용한 수학 연산 호환성 해결 방법 2: 대안 사용 반복
인덱스를 수동으로 추적하는 대신, 반복을 위해 보다 Python적인 접근 방식을 사용하는 것을 고려해 보십시오:
def cat_n_times(s, n):
for i in range(n):
print(s)
text = input("What would you like the computer to repeat back to you: ")
num = int(input("How many times: "))
cat_n_times(text, num)
여기서 range(n)가 있는 for 루프는 반복을 효과적으로 처리합니다.
API 고려 사항
오류도 API 설계와 관련된 잠재적인 문제를 강조합니다. 텍스트가 문자열이고 숫자가 횟수를 나타내는 것이 더 직관적일 수 있습니다. 이 경우 API를 적절하게 수정할 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3