📚 개발을 배우기 시작한지 벌써 3주가 되었다.
그동안 html, css, js로 웹페이지를 만드는 것을 배우고 python의 flask를 통해 내가 만든 웹페이지와 상호작용을 하는 서버를 만들어 MongoDB로 데이터를 주고 받으며 AWS와 도메인을 구매하여 나의 웹사이트를 배포해보았다🚀
또 프로젝트 버전 관리 및 협업을 위해 Git과 Github, Sorcetree 사용법을 학습했고 나의 PC가 Window라 터미널이 없어 Git bash를 사용하여 Git을 CLI 명령어로 다루는 방법도 배웠다.
그리고 이번주는 python을 좀 더 익숙하게 다루기 위해 집중적으로 학습을 했고, 기본적인 파이썬의 문법들을 익히고 Class를 활용한 간단한 계산기, 숫자 야구게임, 로또 번호 추첨기, 가위바위보 게임 등을 만들어 보았다🔥🔥🔥
이번주 과제는 가위바위보 게임을 만드는 것인데 튜터님께서 제시한 조건은 사용자의 값을 받아 비교해서 결과를 출력하는 것이었다.
하지만 좀 더 욕심이 나서 sleep()함수를 사용해 사용자가 값을 입력했을 때 3초를 카운트 해주는 간단한 기능과 게임에서 5번을 이겨야만 종료가 되도록 count를 설정하여 이길 때마다 카운트가 1씩 올라가고 누적 승리 수도 같이 출력하는 기능도 구현해보았다.
from random import choice
import time
list = ['가위', '바위', '보']
cpu = choice(list)
count = 0
print('게임을 시작합니다. \n\n5번을 이겨야만 게임은 종료됩니다.')
while True:
user_input = input('\n가위, 바위, 보 중 하나를 입력해주세요! : ')
if user_input in list:
print(f'\n당신은 {user_input}을 냈습니다.')
else:
print('다시 입력해주세요!')
# 결과 공개 전 카운트를 보여주는 부분
print('\n3초 후 결과를 공개합니다!')
time.sleep(1)
print('3')
time.sleep(1)
print('2')
time.sleep(1)
print('1')
time.sleep(1)
print(F'\n상대는 {cpu}를 냈습니다.')
# 유저가 이길 경우
if user_input == cpu:
print(f'\n결과 : 비겼습니다! / 누적 승리: {count}\n')
elif user_input == '가위' and cpu == '보':
print(f'\n결과 : 이겼습니다! / 누적 승리: {count}\n')
count += 1
elif user_input == '바위' and cpu == '가위':
print(f'\n결과 : 이겼습니다! / 누적 승리: {count}\n')
count += 1
elif user_input == '보' and cpu == '바위':
print(f'\n결과 : 이겼습니다! / 누적 승리: {count}\n')
count += 1
# 유저가 질 경우
elif cpu == '가위' and user_input == '보':
print(f'\n결과 : 졌습니다! / 누적 승리: {count}\n')
elif cpu == '바위' and user_input == '가위':
print(f'\n결과 : 졌습니다! / 누적 승리: {count}\n')
elif cpu == '보' and user_input == '바위':
print(f'\n결과 : 졌습니다! / 누적 승리: {count}\n')
# 카운트 5가 되면 종료
if count == 5:
break
파이썬을 배우면서 가장 힘들었던 점은 얼핏 보기엔 정말 쉬워보이는 간단한 문제를 어떻게 코드로 만들어서 다가가야할지 잘 몰라 막막했던 점이었다😵
하지만 전체적으로 어떤 기능들을 구현해야 하는지 먼저 생각해보고, 그 기능들을 하나씩 나누어서 코드를 만들어 보니 조금더 쉽게 다가갈 수 있었다.
아직까지는 파이썬을 익숙하게 잘 다루지 못해서 시간이 오래걸리고 캠프 과정을 같이 하는 사람들 보다 실력이 많이 뒤쳐져 좌절감에 빠지곤 하지만 내가 체력 하나만큼은 자신있으니 남들보다 배로 노력할 것이다💪👊🔥
(3주 동안 거의 새벽 2~3시 까지 공부하니까 치질과 동시에 디스크 생길 것 같다 ㅋㅋㅋㅋ)