Python TypeError:'int' 개체는 반복할 수 없습니다.
6298 단어 programmingpythoncodenewbie
이전 기사를 읽으셨다면 ' 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 iterable이 ItsMyCode에 처음 나타났습니다.
Reference
이 문제에 관하여(Python TypeError:'int' 개체는 반복할 수 없습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/fluentprogramming/python-typeerror-int-object-is-not-iterable-47n8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)