Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 댓글지우기
- ERD
- 와이어프레임
- js
- 딥러닝
- class view
- serializer
- 다항 논리 회귀
- API명세
- 개인페이지
- CNN
- 팀프로젝트 기획
- json to db
- Django
- docker
- 머신러닝
- 댓글쓰기
- original set
- 비밀번호 수정
- Python
- DRF
- 이진 논리 회귀
- 장고
- 팔로우 기능 에러
- 백엔드
- python to json
- 프론트엔드
- 프로필사진 업로드
- 북마크한 목록 가져오기
- test.py
Archives
- Today
- Total
코딩 개발일지
TIL 10일차 - 1~100숫자 맞추기 / 가위바위보 게임 [python] 본문
어제도 예비군 갔다와서.. 벌써 2일이나 빠져버렸다ㅏㅏ
밀린공부 + 과제하는데 좀 힘들었다.
최종 과제 제출내용.(1번)
import random
random_number = random.randint(1, 100)
# print(random_number)
count = 0
num = int(input("1~100사이의 숫자를 입력해 주세요."))
while True:
try:
if 1 > num or num > 100:
print(f'{num}은 1~100사이의 숫자가 아닙니다. 다시 입력해 주세요.')
num = int(input(""))
elif num < random_number:
print(f'{num}보다 큽니다. 다시 입력해 주세요.')
num = int(input(""))
count = count+1
elif num > random_number:
print(f'{num}보다 작습니다. 다시 입력해 주세요.')
num = int(input(""))
count = count+1
elif num == random_number:
count = count+1
print(f'정답입니다. 총 {count}번 시도했습니다.')
Continue = str(input("계속하시겠습니까? [YES] [NO]"))
if Continue == "YES":
random_number = random.randint(1, 100)
num = int(input("1~100사이의 숫자를 입력해 주세요."))
count = 0
elif Continue == "NO":
break
except ValueError:
print("알맞은 숫자를 입력하세요.")
num = int(input(""))
except:
print("알맞은 숫자를 입력하세요.")
num = int(input(""))
이렇게 제출했는데, 해설을 듣고나니 부족한 부분이 있었다. 코드의 간결화가 중요할 것 같다.
# continue 써야됌
# while 문 안에 while문 써서 반복
해설에서는
will_continue = input("계속하고 싶으시면 yes를 입력해주세요")
if will_continue == "yes":
continue
else:
break
이렇게 break를 걸어서 아무거나 쳐도 break가 된다. 살짝 불..편? 나는 이거땜에 몇시간 날렸는데ㅜㅜ
try except를 걸어도 되지만, 더 쉬운 방법이 있었다!
최종 과제 제출내용.(2번)
import random
user = input("가위 바위 보 !!! (입력해주세요.)")
count_win = 0
count_lose = 0
count_same = 0
while True:
try:
# computer = random.choice(['가위', '바위', '보'])
computer = '가위'
# 무승부
if user == computer:
print(f'컴퓨터는 {computer}를 냈습니다.')
print("무승부")
count_same = count_same + 1
Continue = str(input("계속하시겠습니까? [YES]=Y [NO]=N "))
if Continue == "Y" or "Y".lower():
user = input("가위 바위 보 !!! (입력해주세요.)")
elif Continue == "N" or "N".lower():
print(f'승리:{count_win}회,패배:{count_lose}회,무승부:{count_same}회')
break
# computer 가위
elif computer == '가위':
print(f'컴퓨터는 {computer}를 냈습니다.')
if user == '바위':
print("승리")
count_win = count_win + 1
Continue = str(input("계속하시겠습니까? [YES]=Y [NO]=N "))
if Continue == "Y" or "Y".lower():
user = input("가위 바위 보 !!! (입력해주세요.)")
elif Continue == "N" or "N".lower():
print(f'승리:{count_win}회,패배:{count_lose}회,무승부:{count_same}회')
break
elif user == '보':
print("패배")
count_lose = count_lose + 1
Continue = str(input("계속하시겠습니까? [YES]=Y [NO]=N "))
if Continue == "Y" or "Y".lower():
user = input("가위 바위 보 !!! (입력해주세요.)")
elif Continue == "N" or "N".lower():
print(f'승리:{count_win}회,패배:{count_lose}회,무승부:{count_same}회')
break
elif computer == '바위', '보' ('가위'와 마찬가지로)
이렇게 힘들게 했는데, 코드가 너무길어서 별로였다. 해설에서는 < not in > 으로 try except를 대체했고, 오류도 한방에해결함 ㅜㅜ
그리고 해설에서는 묶을 수 있는걸 최대한 묶어서 코드 길이가 반토막났다. 나는 너무 노가다한 느낌이 강했음.
아직 while문 안에 while 문을 한번 더 쓴다던지, if 문 안에 if문을 또 건다던지 여러개의 조건, 반복문을 걸어서 코드를 짜는것을 생각해내지 못한 것 같다.
'AI 본 교육 > AI 3주차' 카테고리의 다른 글
WIL3주차 + TIL 12일차 - 파이썬 기본문법 다시 처음부터.. (0) | 2023.08.25 |
---|---|
TIL 11일차 - Algorithm & 자료구조 (1) | 2023.08.24 |
TIL 9일차 - class의 이해 / 1~100숫자맞추기, 가위바위보 게임 과제 (0) | 2023.08.21 |