초급 수준의 기능이나 함수도 자주 사용하지 않거나 응용하는 습관을 안 들이면 머리가 굳어버린다.
: break와 continue를 사용해 동일한 기능을 하는 함수를 다르게 표현해보려고 한다.
사용자로 부터 숫자를 입력받아 랜덤으로 생성된 숫자를 반복할 때 까지 진행하는 함수를 만들었다.
함수 자체는 어렵진 않지만 이 함수를 continue를 사용해 정의하려면 어떻게 해야할까?import random def guess_game1(): answer = random.randint(1, 10) while True: guess = int(input('숫자를 입력하시오: ')) if guess == answer: print('맞습니다') break else: print('틀렸습니다')처음 나의 생각은 else 안에 continue를 사용하는 건 사용 하나 안하나 똑같기에 아무 의미가 없다고 생각했다. 왜냐하면 while문 자체가 break나 조건이 False 상태로 변경되지 않는 경우 계속 해당 코드를 실행하기 때문이다.
문제의 의도가 뭘까? continue 기능에 대해 단순히 for문 안에서 주로 사용한다고 무의식적으로 생각했던 부분이 있었기에 해당 함수를 다르게 정의할 수 있는지에 대해 의문이 생겼었다.
하지만continue는 아래에 실행할 다른 코드가 있어도 다음 단계로 넘어가지 않고 다시 반복의 최상위로 가는 기능이다.
그렇다면 기존의 if문 내에서 모든 실행 결과를 도출 하는 방식과 달리 틀린 경우를 if문 안에서 continue와 함께 사용하고, 맞췄을 경우를 if문 밖에서 실행하도록 하면 되는 것이다.결과
가변 매개변수를 이해하기 위한 예시 문제를 gpt한테 만들어 달라고 했다. 문제들은 아주 쉬웠지만 이 쉬운 문제에서도 내가 확실히 join 사용에 대한 생각이 머리속에 잘 안떠오른 다는 것을 깨달았다.
[문제]
여러 개의 문자열을 인자로 받아, 띄어쓰기 없이 하나의 문자열로 합쳐서 반환하는 concat_words() 함수 만들기.
.
.
.
문자열을 이어 붙인다? 처음에는 'hi!' + 'hello' 와 같이 문자열을 더하는 방식을 생각했는데 그러면 for 문을 사용해야 하고, 그러면 내가 넣어줄 범위나 리스트 값을 넣어줘야 하는데 이 방식은 인자로 몇 개가 들어올지 모르는 상황에서는 적절하지 않은 방식이다.
.
.
.
그래서 검색을 해보니 join()이었다.
알고나니 정말 쉬운데 평소 join()을 디렉토리 경로 붙일때 생각없이 사용했다보니 머리속에 떠오르지가 않았다.

이보다 훨씬 더 어려운 이상 탐지, LLM을 개인 프로젝트로 진행하다가도 오늘 같이 join 하나가 생각이 안나 막힐때면 "바보인가?" 라는 생각이 든다. 그렇기에 기본기에 대한 익숙함과 응용이 더 중요한 것 같다.