>백엔드 개발 >파이썬 튜토리얼 >\'TypeError: -: \'str\' 및 \'int\'\'에 대해 지원되지 않는 피연산자 유형을 해결하는 방법은 무엇입니까?

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

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-19 13:37:01880검색

How to Resolve

"TypeError 해결: -: 'str' 및 'int'에 대해 지원되지 않는 피연산자 유형"

코딩을 시도할 때 Python에서는 "TypeError: -: 'str' 및 'int'에 대해 지원되지 않는 피연산자 유형" 오류와 같은 오류가 발생하는 것은 드문 일이 아닙니다. 이 오류는 일반적으로 문자열에서 정수 빼기 등 다양한 데이터 유형에 대한 수학적 연산을 수행하려고 할 때 발생합니다.

이 오류를 이해하려면 오류를 발생시킨 코드를 살펴보겠습니다.

<code class="python">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)</code>

여기서 문제는 텍스트와 숫자 모두에 대해 문자열을 반환하는 입력 함수에 있습니다. 코드가 문자열(num)에서 정수(s - 1)를 빼려고 시도하는 동안 오류가 발생합니다.

해결책 1: 입력 변환

One 해결책은 수학 연산을 수행하기 전에 입력을 문자열에서 정수로 변환하는 것입니다. 이는 int() 함수를 사용하여 수행할 수 있습니다.

<code class="python">num = int(input("How many times: "))</code>

num을 정수로 변환하면 s와의 수학 연산 호환성을 보장할 수 있습니다.

해결책 2: 사용 대체 반복

인덱스를 수동으로 추적하는 대신 Python적인 반복 접근 방식을 사용하는 것이 좋습니다.

<code class="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)</code>

여기서는 range(n)가 포함된 for 루프가 반복을 처리합니다. 효과적으로.

API 고려 사항

오류는 API 디자인의 잠재적인 문제도 강조합니다. 텍스트가 문자열이고 숫자가 횟수를 나타내는 것이 더 직관적일 수 있습니다. 이 경우 이에 따라 API를 수정할 수 있습니다.

위 내용은 \'TypeError: -: \'str\' 및 \'int\'\'에 대해 지원되지 않는 피연산자 유형을 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.