Python TypeError:'int' 개체는 반복할 수 없습니다.

ItsMyCode |

이전 기사를 읽으셨다면 ' NoneType’ object is not iterable . Python에서 ' typeerror '가 발생하는 이유를 이미 알고 있으며 기본적으로 for 및 while 루프와 같은 반복 중에 발생합니다.

TypeError: 'int' object is not iterable이 정확히 무엇입니까?



개발자에게 이 오류가 발생하는 가장 일반적인 시나리오는 반복할 일련의 숫자를 만드는 range() 메서드를 사용하는 것을 잊는 경향이 있는 for 루프를 사용하여 숫자를 반복하려고 할 때입니다.

다음 코드 스니펫을 고려하여 수업의 각 학생에 대한 성적을 수락합니다.

students=int(input('Please enter the number of students in the class: '))

for number in students:
        math_grade=(input("Enter student's Maths grade: "))
        science_grade=(input("Enter student's Science grade: "))
        social_grade=(input("Enter student's Scoial grade: "))

# Output

Please enter the number of students in the class: 5
Traceback (most recent call last):
  File "c:\Projects\Tryouts\listindexerror.py", line 3, in <module>
    for number in students:
TypeError: 'int' object is not iterable


위의 코드는 클래스의 총 학생 수에 대한 입력을 읽고 각 학생에 대해 과목 성적을 받는 매우 간단합니다.

여기서 모두가 생각하는 더 쉬운 방법은 for 루프를 사용하여 성적을 수락할 학생 수를 반복하는 것입니다. 코드를 실행하면 Python에서 TypeError: 'int' object is not iterable이 발생합니다.

Python에서 TypeError: 'int' 객체가 반복 가능하지 않은 이유는 무엇입니까?



Python에서 목록과 달리 정수는 단일 정수 값을 보유하고 ' __iter__ ' ** 메서드를 포함하지 않으므로 직접 반복할 수 없습니다. 그래서 **TypeError가 발생합니다.

아래 명령을 실행하여 객체가 반복 가능한지 여부를 확인할 수 있습니다.

print(dir(int))
print(dir(list))
print(dir(dict))






출력 스크린샷을 보면 int에는 ** '__iter__' ** 메서드가 없지만 list와 dict에는 * ' __iter__ ' * 메서드가 있습니다.

TypeError 수정 방법: 'int' 개체를 반복할 수 없습니까?



문제를 해결할 수 있는 두 가지 방법이 있으며 첫 번째 방법은 int를 사용하는 대신 list를 사용하는 것입니다. 그리고 for 및 while 루프를 사용하여 쉽게 반복할 수 있습니다.

여전히 int 객체를 반복하려는 경우 두 번째 방법은 for 루프에서 range() 메서드를 사용해 보십시오. 그러면 결국 순차 번호 목록이 생성됩니다.

students=int(input('Please enter the number of students in the class: '))

for number in range(students):
        math_grade=(input("Enter student's Maths grade: "))
        science_grade=(input("Enter student's Science grade: "))
        social_grade=(input("Enter student's Scoial grade: "))



게시물 Python TypeError: ‘int’ object is not iterableItsMyCode에 처음 나타났습니다.

좋은 웹페이지 즐겨찾기