식별자를 나타내는 문자열이 있다고 가정합니다. 유효한지 여부를 확인해야 합니다. 그것이 유효한지 아닌지를 판단할 수 있는 몇 가지 기준이 있습니다.
- 밑줄 '_' 또는 대문자나 소문자로 시작해야 합니다.
- 공백이 없습니다
- 첫 번째 문자 이후의 모든 후속 문자는 $, #, % 등과 같은 특수 문자로 구성되어서는 안 됩니다.
이 세 가지가 모두 유효한 경우 문자열만 유효한 식별자입니다.
따라서 입력이 id ="_hello_56"과 같으면 출력은 True가 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- s의 첫 번째 문자가 알파벳이 아니고 밑줄이 아닌 경우
- 거짓을 반환
- s[인덱스 1에서 끝까지]의 각 문자 ch에 대해 다음을 수행합니다.
- ch가 영숫자가 아니고 ch가 밑줄이 아닌 경우
- 거짓을 반환
- ch가 영숫자가 아니고 ch가 밑줄이 아닌 경우
- 참 반환
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예시 코드
def solve(s): if not s[0].isalpha() and s[0] != '_': return False for ch in s[1:]: if not ch.isalnum() and ch != '_': return False return True id = "_hello_56" print(solve(id))
입력
"_hello_56"
출력
True