관리 메뉴

개발이야기

[인프런 강의] Python lab_7 baseball game 구현 본문

Python /인프런 강의

[인프런 강의] Python lab_7 baseball game 구현

안성주지몬 2018. 7. 9. 15:54

이전에 인프런을 통해 수강했던 "데이터 과학을 위한 파이썬 입문"의 과제들의 코드를 포스팅할 예정입니다. 


이번 과제를 하면서 깨달은 것들
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()

Comments