원하는 길이와 비교
이 단계에서는 문자열의 길이를 원하는 길이와 비교하는 방법을 배우게 됩니다. 이는 프로그래밍에서 흔히 사용되는 작업이며, 특히 사용자 입력을 검증하거나 특정 길이 요구 사항을 준수해야 하는 데이터를 처리할 때 유용합니다.
사용자가 입력한 사용자 이름이 3 자에서 10 자 사이인지 확인하는 시나리오를 만들어 보겠습니다. ~/project 디렉토리의 string_length.py 파일을 수정하여 다음을 포함합니다.
## filename: string_length.py
username = input("Enter a username: ")
length = len(username)
if length < 3:
print("Username must be at least 3 characters long.")
elif length > 10:
print("Username must be no more than 10 characters long.")
else:
print("Username is valid.")
파일을 저장하고 실행합니다.
python ~/project/string_length.py
사용자 이름이 너무 짧으면:
Enter a username: ab
출력은 다음과 같습니다.
Username must be at least 3 characters long.
사용자 이름이 너무 길면:
Enter a username: abcdefghijk
출력은 다음과 같습니다.
Username must be no more than 10 characters long.
유효한 사용자 이름을 입력하면:
Enter a username: abcdef
출력은 다음과 같습니다.
Username is valid.
이 예제는 len() 함수를 사용하여 문자열이 특정 길이 기준을 충족하는지 확인하는 방법을 보여줍니다.
이제 암호를 검증하려는 더 복잡한 시나리오를 고려해 보겠습니다. 암호는 8 자에서 16 자 사이여야 하며, 최소한 하나의 숫자를 포함해야 합니다. string_length.py 파일을 다음과 같이 수정합니다.
## filename: string_length.py
password = input("Enter a password: ")
length = len(password)
has_digit = False
for char in password:
if char.isdigit():
has_digit = True
break
if length < 8:
print("Password must be at least 8 characters long.")
elif length > 16:
print("Password must be no more than 16 characters long.")
elif not has_digit:
print("Password must contain at least one digit.")
else:
print("Password is valid.")
파일을 저장하고 실행합니다.
python ~/project/string_length.py
암호가 너무 짧으면:
Enter a password: abcdefg
출력은 다음과 같습니다.
Password must be at least 8 characters long.
암호가 너무 길면:
Enter a password: abcdefghijklmnopq
출력은 다음과 같습니다.
Password must be no more than 16 characters long.
암호에 숫자가 포함되어 있지 않으면:
Enter a password: abcdefgh
출력은 다음과 같습니다.
Password must contain at least one digit.
유효한 암호를 입력하면:
Enter a password: abcdefg1
출력은 다음과 같습니다.
Password is valid.
이 예제는 len() 함수를 문자열을 반복하여 특정 문자를 확인하는 것과 같은 다른 기술과 결합하여 보다 정교한 유효성 검사를 수행하는 방법을 보여줍니다.