오류해결

TypeError: 'str' object does not support item assignment string은 아이템 수정이 불가능하다는 뜻이다. 문자열은 인덱스로 접근도 가능하고 리스트와 같이 슬라이싱도 가능하다. 그럼 text의 1번 요소인 e를 a로 바꿔 'hallo'라는 결과를 얻을 수 있을까? 불가능하다. 도대체 assignment의 뜻이 뭐길래 이런 에러가 발생하는 것일까. 궁금해서 직접 검색해 보았다. 에러 메시지에서 assignment는 2번 '배정, 배치'를 의미하는 것으로 보인다. 즉, TypeError: 'str' object does not support item assignment = 문자열에서는 아이템 배치를 지원하지 않는다. 문자열 수정을 위해 리스트처럼 인덱스로 접근은 ..
UnboundLocalError가 발생하는 이유는 함수 밖에서 선언한 변수를 함수 내에서 사용했기 때문이다. 함수 내에서 사용했다는 의미가 무엇이냐 하면, 함수 func() 밖에서 x라는 변수를 선언하고 1을 변수 x의 값으로 부여했다. 그다음 함수를 정의하는 과정에서 함수 밖에 위치한 변수인 x를 사용하였다. line by line으로 실행되니 먼저 실행되는 x=1 다음에 함수를 정의해 주었으니 문제 될 것이 없지 않느냐라고 생각할 수도 있다. 하지만 에러메시지를 보면 이 말은 잘못됨을 알 수 있다. local variable 'x' referenced before assignment = 함수 내에서 값을 할당하려고 보니 '지역변수' x가 참조되었습니다. 이런 의미이다. 그러므로 x는 먼저 작성된 코드..
프로그래머스 문제를 푸는 과정에서 최소공배수가 필요하여 math.lcm을 사용했으나 attributeerror: module 'math' has no attribute 'lcm' 와 같은 오류가 발생하였다. lcm은 python 3.9 버전부터 사용이 가능한 메소드이기 때문에 이럴 때에는 다른 방법으로 최소공배수를 구해야 한다. 두 수가 주어졌을 때 최소공배수는 두 수의 곱을 최대공약수로 나누어 구할 수 있다. $$ lcm(a, b) = \frac{a \times b}{gcd(a, b)} $$ 예를 들어, 6과 4의 최소공배수를 구하면 다음과 같다. 1) 두 수의 곱 $ 6 \times 4 = 24 $ 2) 두 수의 최대공약수 $ gcd(6, 4) = 2 $ 3) 두 수의 최소공배수 $ \frac{24}..
dduniverse
'오류해결' 태그의 글 목록