어제 과제를 완료했지만 튜터님이 다른 방식으로 풀면 실력에 크게 도움이 될 것같다고 하셔서 다시 풀어봄.
그리고 튜터님들의 과제풀이를 보고 여러가지 풀이형식과 다른분들의 도움이 될 정보들을 보았다.
1. 개인과제 1번을 함수형식으로 다시 풀이
import random
def play_game(random_number):
max_try = 0
number = None
while True:
print("100 이하의 숫자를 입력하세요:")
try:
number = int(input())
except ValueError:
print("옳지 않은 값입니다.100 이하의 숫자를 입력하세요")
continue
max_try += 1
if random_number > number:
print("up")
elif random_number < number:
print("down")
else:
print("정답")
print(f"시도한 횟수 {max_try}")
max_try = 0
break
def game_restart():
while True:
print("다시 하시겠습니까? (y/n):")
input_ = input().lower()
if input_ == 'y':
print("다시시작합니다.")
break
else:
exit()
def play_RSP():
while True:
random_number = random.randint(1, 100)
print("게임을 시작합니다")
play_game(random_number)
game_restart()
play_RSP()
느낀점
이 과정에서 하면서 느낀점은 내가 큰 틀을 이해하고 있다면 각 부분들을 세션으로 나누어서 끼어맞출 수 있다는 점이 좋았다. 그리고 각각 수정하는 편도 상당히 편했었다.
힘든점
어디를 어떻게 나누어서 조립할까가 생각보다 오랜 생각을 걸치게 했었다.
막상 처음부터 차근차근할려고 노력해봐도 머리로는 생각되는게 코드로 잘 이행되지 않았었다.
개인적으로 바로 이런 방식의 코드는 아직 미숙해서 바로 작성은 힘들 것 같고 한번 대강 코드를 짜고 나누어야할 부분들을 선택 후 해야할 것 같다.
2. 개인과제 3번을 DB로 해결했기 요구한 방법과 다른 방법인 것 같아 다시 해결
class Member():
def __init__(self, name, username, password):
self.name = name
self.username = username
self.password = password
def display(self):
print(f'이름 : {self.name} 닉네임 {self.username}')
class Post():
def __init__(self, title, contents, author):
self.title = title
self.contents = contents
self.author = author
def display(self):
print(f'제목: {self.title}, 내용: {self.contents}, 작성자: {self.author}')
members = []
# member
kim = Member('kim', 'ModeExplorer', 456456)
lee = Member('lee', 'hasty', 123123)
park = Member('park', 'parkGOON', 789789)
members.append(kim)
members.append(lee)
members.append(park)
for x in members:
x.display()
print(members)
posts = []
# post
authors = ['kim', 'lee', 'park']
for i in range(1, 20):
title = f'{i}번째'
contents = f'{i}등이야'
author_index = i % 3
author = authors[author_index]
post = Post(title, contents, author)
posts.append(post)
print(posts[0].author)
for post in posts:
if post.author == 'kim':
post.display()
for x in posts:
if '2등' in x.contents:
x.display()
느낌점
기존에는 원래는 DB에 저장하여 변수를 인스턴스화하고 그 값들을 클라이언트에서 가져왔었다.
실질적으로 문제를 풀지는 않았던 것 같아 다시 풀이를 했었는데 처음에는 반복문을 만들고 이걸 어떻게 인스턴스화하지 라는 생각이 들었었다.금방 해결은 했지만 아직 인스턴스화가 바로바로 되질 않는 것 같다.
내가 편하게 하기 위해 있는 방법 중 하나인데 아직 자유자재로 활용하지 못하고 있는 것 같다.
힘든점
반복문을 바로 만들고 인스턴스화를 하는데 약간 생각이 들었었다.
아직 append를 사용해서 리스트,튜플 형식으로 넣을 때 헷갈린다. 이건 조금만 더 연습하면 해결될 것 같다.
주말에 진행할 일
1. 클라이언트에서의 post생성에 이미지를 추가하여 postpage에 좀 더 예쁘게 만들어졌으면 한다.
이 때 약간 걱정이 된다. DB이기에 URL 주소를 넘겨줘야할 것 같은데 이러면 아래와 같은 선택지가 생긴다.
1-1. 다른곳에 이미지를 저장하고 URL를 가져오는 형식 1-2. 되도록이면 DB에 이미지를 저장하는 방법을 알아내고 우선 다른 방법이 있나 찾아보고 진행해야할 것 같다.
세션,토큰,웹DB 이런쪽에 저장해도 금방 지워지기 때문에 DB에 저장해야하는데 어떤 방법을 해야할지 고민된다
되도록이면 2번을하고 싶다.
2. 애니메이션도 추가하고 싶다.
'개인숙제' 카테고리의 다른 글
개인 과제 완료 (0) | 2024.02.28 |
---|---|
react와 python을 사용하여 과제 3 ,4번 해결하기 (0) | 2024.02.27 |
첫번째 개인과제1,2번(파이썬) (0) | 2024.02.22 |