[python]argument of type 'int' is not iterable

2020년 11월 03일 by 진아사랑해

    [python]argument of type 'int' is not iterable 목차
반응형

rs = thunder_db.select_3_db()  <- (string, integer)를 반환해 준다(return)

i = 0

print("{} {}".format(rs[0], rs[1]))

for tp in rs:

    d.text((screenwidth * 0.65, screenheight * 0.05 * (i+1)), text = tp[0], font=fnt, fill=(255,255,255,256))

    d.text((screenwidth * 0.75, screenheight * 0.05 * (i+1)), text = tp[1], font=fnt, fill=(255,255,255,256))

이렇게 구문을 작성하면 위의 에러가 나온다

 

for 구문에서 2번째 문장을 text = str(tp[1]) 로 변경하면 된다.....string을 요구하는 곳에 integer를 넣었기 때문이다.

d.text((screenwidth * 0.75, screenheight * 0.075 + (i * 0.075)), text = str(tp[1]), font=fnt, fill=(255,255,255,256))

 

iterable은 무엇인가 ?

반복 가능한 객체로 리스트, 튜플, 딕셔너리, Set, string, byte, range 가 있다

위 문장에서 보듯이 어느 하나의 객체에서 자료를 반복적으로 꺼내올 수 있는 타입니다.

 

iterator는 ?

iterable한 객체

 

argument of type 'int' is not iterable

iterable 타입의 객체를 요구하는데 integer가 들어 있어서 발생하는 에러이다

 

참고: wikidocs.net/16068

 

즐거운 시간되세요^^

 

반응형