TIL (Today I Learn)
TIL [내배캠] 16일차
dataguard
2025. 3. 11. 21:21
파이썬 개인과제 5번
- 문제 5 : 이메일 주소가 올바른 형식을 갖추고 있는지 판단하는 프로그램 구현
- 문자열 형태의 이메일 주소 목록을 분석하여,
각 이메일 주소가 올바른 형식을 갖추고 있는지 판단하는 프로그램을 작성하세요. - 조건
- 하나의 '@' 기호를 포함해야 합니다.
- '@' 기호 앞에는 하나 이상의 문자가 있어야 합니다.
- '@' 기호 뒤에는 도메인명이 와야 하며,
도메인명은 '.'을 포함한 하나 이상의 문자로 구성되어야 합니다.
- 조건에 해당하는 정답 리스트를 만들고, 그것에 따라서 원본 이메일과 함께 출력하는 식으로 구상
- split을 @ 기준으로 해야하기 때문에, @의 포함 유무를 1순위 조건으로 설정
- 도메인에 '.'의 포함 유무에서 많이 걸러질 것 같아서 2순위 조건으로 설정
- @ 기호 앞으로 split 된 리스트의 길이로 조건을 설정
- 모든 조건을 통과한 요소들을 correct 리스트에 추가
- 예시 답변이 리스트의 형태가 아니어서, 조인으로 줄을 나누고 프린트로 출력
def validate_emails(email_list):
correct = []
final = []
for email in email_list:
if '@' in email:
spt = email.split('@')
if '.' in spt[1]:
if len(spt[0]) > 0:
correct.append(email)
if email in correct:
answer = f'{email} 유효한 이메일 주소입니다'
else:
answer = f'{email} 유효하지 않은 이메일 주소입니다.'
final.append(answer)
return print("\n".join(final))
# 이메일 목록
email_list = [
"example@example.com",
"wrongemail@com",
"anotherexample.com",
"correct@email.co.uk",
"rudgh811@naver.com",
"@asoidfj.com"
]
# 이메일 유효성 검사 실행
validate_emails(email_list)
- 민방위 훈련으로 인해, 오늘의 TIL은 상당히 짧다.
- 내일은 더 열심히 해보자