>백엔드 개발 >파이썬 튜토리얼 >Python에서 다양한 데이터 유형을 뺄 때 유형 오류를 해결하는 방법은 무엇입니까?

Python에서 다양한 데이터 유형을 뺄 때 유형 오류를 해결하는 방법은 무엇입니까?

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

How to Resolve Type Errors When Subtracting Different Data Types in Python?

TypeError: 지원되지 않는 뺄셈 피연산자 유형

Python에서 뺄셈 연산자는 숫자나 문자열과 같은 호환되는 유형 사이에서만 사용할 수 있습니다. 그런데 정수에서 문자열을 빼려고 하면 오류가 발생합니다.

원본 코드:

<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>

오류:

TypeError: unsupported operand type(s) for -: 'str' and 'int'

설명:

프로그램의 입력인 text와 num은 모두 입력을 사용하여 받은 문자열입니다. 그러나 cat_n_times 함수는 문자열(텍스트)에서 정수(들)를 빼려고 시도하여 유형 오류가 발생합니다.

해결책:

1 . 입력을 정수로 변환:

한 가지 해결책은 int():

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

2를 사용하여 문자열 num을 정수로 변환하는 것입니다. 개선된 함수 설계:

또는 더 나은 함수 설계에서는 수동 인덱스 추적 대신 for 루프를 사용합니다.

<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>

이 버전은 함수의 의도를 더 명확하게 전달하고 루프에서 사용하기 전에 num을 정수로 변환하여 오류를 제거합니다.

위 내용은 Python에서 다양한 데이터 유형을 뺄 때 유형 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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