일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 알고리즘
- 마스터링 비트코인
- 마스터링 이더리움
- 개발
- 솔리디티
- javascript
- Ethereum
- DAPP
- keras
- 비트코인
- 공개키
- 스마트컨트랙트
- js
- Redis
- 이더리움
- 주소
- 블록체인
- python
- 백서
- 문자열
- smart contract
- 암호화폐
- 블록체인개발
- 레디스
- pythonic
- solidity
- 파이썬
- 마스터링비트코인
- node js
- 개인키
- Today
- Total
개발이야기
[인프런 강의] Python lab_7 baseball game 구현 본문
이전에 인프런을 통해 수강했던 "데이터 과학을 위한 파이썬 입문"의 과제들의 코드를 포스팅할 예정입니다.
이번 과제를 하면서 깨달은 것들
1. 예외처리 방법
try:
시도
except:
오류발생시
else:
오류 발생 x 시
2. python if문에서는 && 대신 and를 || 대신 or 을 사용한다.
3. len(set(변수))를 사용하면 중복된 값이 제거된 길이를 추출할 수 있다.
import random def get_random_number(): # 100부터 999까지 수를 램덤하게 반환함 return random.randrange(100, 1000) def is_digit(user_input_number): try: #시도 int(user_input_number) except: #오류 발생시 result = False else: #오류 발생 x result = True # ================================== return result def is_between_100_and_999(user_input_number): user_input_number = int(user_input_number) if user_input_number >= 100 and user_input_number < 1000: result = True else: result = False return result def is_duplicated_number(three_digit): three_digit = str(three_digit) temp = len(set(three_digit)) if temp == 3: result = False else: result = True # ================================== return result def is_validated_number(user_input_number): if is_digit(user_input_number) == True and is_between_100_and_999(user_input_number) == True and is_duplicated_number(user_input_number) == False: result = True else: result = False return result def get_not_duplicated_three_digit_number(): user_input_number = get_random_number() while is_validated_number(user_input_number) == False: user_input_number = get_random_number() result = user_input_number # ================================== return result def get_strikes_or_ball(user_input_number, random_number): a = user_input_number b = random_number st = 0 ba = 0 for i in range(0,3): for j in range(0,3): if a[i] == b[j]: if i == j: st = st + 1 else: ba = ba + 1 result = [st,ba] return result def is_yes(one_more_input): one_more_input = one_more_input.upper() if one_more_input == "Y" or one_more_input == "YES": result = True else: result = False return result def is_no(one_more_input): one_more_input = one_more_input.upper() if one_more_input == "N" or one_more_input == "NO": result = True else: result = False return result def main(): print("Play Baseball") random_number = str(get_not_duplicated_three_digit_number()) print("Random Number is : ", random_number) while 1: if ret[0] == 3: inp = input("You win, one more(Y/N) ?") if is_no(inp) == True: flag = False break elif is_yes(inp) == True: flag = True random_number = str(get_not_duplicated_three_digit_number()) print("Random Number is : ", random_number) break else: print("Wrong Input, Input again") if flag == False: break print("Thank you for using this program") print("End of the Game") if __name__ == "__main__": main()