- 코드잇 ) 프로그래밍 기초 - 7. 리스트
- 숫자야구
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | from random import randint # 정답 첫번째 값과 두번째 값 생성 answer = [] answer.append(randint(0, 9)) answer.append(randint(0, 9)) #중복확인 while True: if answer[0] == answer[1]: answer[1] = randint(0, 9) else: break # 정답 세번째 값 생성 answer.append(randint(0, 9)) #중복확인 while True: if answer[0] != answer[2] and answer[1] != answer[2]: break else: answer[2] = randint(0, 9) print("0과 9 사이의 서로 다른 세 숫자를 랜덤한 순서로 뽑았습니다.") guess = [0, 0, 0] count = 1 # 시도한 횟수 while True: print("세 수를 하나씩 차례대로 입력하세요.") while True: guess[0] = int(input("1번째 수를 입력하세요: ")) if guess[0] > 9 or guess[0] < 0: print("범위를 벗어나는 수입니다. 다시 입력해주세요.") else: break while True: guess[1] = int(input("2번째 수를 입력하세요: ")) if guess[1] > 9 or guess[1] < 0: print("범위를 벗어나는 수입니다. 다시 입력해주세요.") elif guess[1] == guess[0]: print("중복되는 수 입니다. 다시 입력해주세요.") else: break while True: guess[2] = int(input("3번째 수를 입력하세요: ")) if guess[2] > 9 or guess[2] < 0: print("범위를 벗어나는 수입니다. 다시 입력해주세요.") elif guess[2] == guess[1] or guess[2] == guess[0]: print("중복되는 수 입니다. 다시 입력해주세요.") else: break # s 확인 s = 0 if answer[0] == guess[0]: s += 1 if answer[1] == guess[1]: s += 1 if answer[2] == guess[2]: s += 1 # b 확인 b = 0 if guess[0] in answer: b += 1 if guess[1] in answer: b += 1 if guess[2] in answer: b += 1 # 종료 여부 확인 if s == 3: print("축하합니다. %d번 만에 세 숫자의 값과 위치를 모두 맞추셨습니다." % (count)) break else: print("%dS %dB" % (s, b)) count += 1 | csv |
'TIL (today I learned)' 카테고리의 다른 글
2019-02-20 TIL (0) | 2019.02.20 |
---|---|
2019-02-19 TIL (0) | 2019.02.19 |
2019-02-15 TIL (0) | 2019.02.15 |
2019-02-14 TIL (0) | 2019.02.14 |
2019-02-13 TIL (0) | 2019.02.13 |