"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > \"TypeError: -: \'str\' 및 \'int\'\"에 대해 지원되지 않는 피연산자 유형을 해결하는 방법은 무엇입니까?

\"TypeError: -: \'str\' 및 \'int\'\"에 대해 지원되지 않는 피연산자 유형을 해결하는 방법은 무엇입니까?

2024-11-09에 게시됨
검색:318

How to Resolve \

"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를 적절하게 수정할 수 있습니다.

릴리스 선언문 이 글은 1729316118에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3