one step
[파이썬] 문자열 검증하기 (islower, startswith, datetime) 본문
반응형
짧은 글 포스팅하기
짧은 글을 포스팅하는 Post 클래스를 구현합니다.
Post 클래스는 다음과 같은 속성들을 가집니다.
author : 작성자
content : 글의 내용
time : 글의 작성 시간
url : 해당 글의 위치인 url 주소
위의 Post 클래스의 속성들은 모두 특정한 조건에 해당하는 값들만이 들어 갈 수 있습니다. 그 조건은 다음과 같습니다.
author : 알파벳 소문자로만 이루어진 문자열
content : 내용의 길이는 최소 1에서 최대 20으로 제한
time : 작성한 시간의 형식은 시:분:초로 저장됩니다. 00:00:00 ~ 24:59:59 의 범위를 가집니다.
url : 일반적인 주소의 형식은 http:// 혹은 https://으로 시작하며 https://academy.elice.io와 같이 .이 2개 이상 이어야 합니다.
Tips!
datetime 패키지는 시간에 관련된 패키지입니다!
datetime.now()는 현재 시간을 연-월-일 시:분:초의 형태로 반환합니다.
datetime.now().second는 현재 시간의 초를 반환합니다.마찬가지로 year, month, day, hour, minute도 사용 가능합니다.
f"{3:02d}"는 문자열 포멧팅으로 {}안의 있는 데이터를 문자열로 반환합니다.
# 초기 코드
class Post:
def __init__(self, author, content, time, url):
# 속성들을 초기화합니다.
self.author = ""
self.content = ""
self.time = ""
self.url = ""
# 아래의 코드를 수정해서 조건에 맞는 값을 author에 저장합니다.
if None:
self.author = author
# 아래의 코드를 수정해서 조건에 맞는 값을 content에 저장합니다.
if None:
self.content = content
# 아래의 코드를 수정해서 조건에 맞는 값을 date에 저장합니다.
if None:
self.time = time
# 아래의 코드를 수정해서 조건에 맞는 값을 url에 저장합니다.
if None:
self.url = url
import datetime
now = datetime.datetime.now()
# 아래에 자유롭게 인스턴스를 생성하고 테스트해 보세요.
my_post = Post("me", "첫 게시글!!", f"{now.hour:02d}:{now.minute:02d}:{now.second:02d}", "https://acdemy.elice.io")
print(my_post.author)
print(my_post.content)
print(my_post.time)
print(my_post.url)
class Post:
def __init__(self, author, content, time, url):
# 속성들을 초기화합니다.
self.author = ""
self.content = ""
self.time = ""
self.url = ""
# 아래의 코드를 수정해서 조건에 맞는 값을 author에 저장합니다.
if author.islower():
self.author = author
# 아래의 코드를 수정해서 조건에 맞는 값을 content에 저장합니다.
if len(content) <= 20 and len(content) >= 1:
self.content = content
# 아래의 코드를 수정해서 조건에 맞는 값을 date에 저장합니다.
if time >= "00:00:00" and time <= "23:59:59":
self.time = time
# 아래의 코드를 수정해서 조건에 맞는 값을 url에 저장합니다.
if url.startswith(("http://", "https://")) and url.count(".") >= 2:
self.url = url
import datetime
now = datetime.datetime.now()
# 아래에 자유롭게 인스턴스를 생성하고 테스트해 보세요.
my_post = Post("me", "첫 게시글!!", f"{now.hour:02d}:{now.minute:02d}:{now.second:02d}", "https://acdemy.elice.io")
print(my_post.author)
print(my_post.content)
print(my_post.time)
print(my_post.url)
반응형
'이것저것 코드 > 파이썬' 카테고리의 다른 글
[파이썬] 클래스, 메서드. 서로 다른 메서드에서 초기값 호출하기 (코멘트 관리) (0) | 2022.09.08 |
---|---|
[파이썬] 꺾은선 그래프 그리기 (토끼그림) (0) | 2022.09.08 |
[파이썬] 문자열 유효성 검사 (비밀번호, 윤년) (0) | 2022.09.08 |
[파이썬] 게시물에 반응하기 - 페이스북 좋아요/화나요 댓글 반응 (0) | 2022.09.04 |
[파이썬] 댓글 좋아요 누른 사람 세기 (중복체크 포함) (1) | 2022.09.02 |