728x90
반응형
import random
# 현재수(now_num)에서 숫자(cnt) 만큼 증가 시키는 함수
def add_number(now_num, cnt): # num_num : 현쟈수, cnt : 증가시키는 수(증가량)
n_lst = [] # 증가시키는 숫자들을 저장할 리스트 변수
n_lst = [n for n in range(now_num+1,now_num + cnt + 1)] # 증가시킨 수들을 리스트로 만듬
rtn_flag = False # 31이 있으면 우선 없다고(False)로 함
if 31 in n_lst: # 리스트에 31이 있다면
rtn_flag = True # 31이 있다고 True 표시(상대방 승리)
return rtn_flag, n_lst, n_lst[-1] # 리턴. rtn_flag:31 발견여부. n_lst:숫자들이 있는 리스트, n_lst[-1]:마지막 숫자
# 리스트의 숫자를 출력하는 함수
def num_print(lst): # lst : 숫자들이 있는 리스트
for i in range(len(lst)): # 리스트(lst)의 요소수 만큼 반복). i는 리스트의 인덱스가 됨
print(lst[i],end='') # 출력. end=''로 하면 줄바꿈 없음.
if i < len(lst)-1: # 마지막에는 ','를 출력하지 않도록 함
print(', ',end='')
print() # 마지막에 줄바꿈을 함
num = 0
while True: # 무한 반복
me = int(input()) # 사용자 입력 받기
flag, lst, num = add_number(num, me) # 숫자 증가 함수 실행. 31여부와 마지막 수를 받음
if flag == True: # 31이 있다
num_print(lst) # 숫자 출력면
print('ai가 승리')
break
ai = random.randint(1, 3)
print('ai숫자: ',ai)
flag, lst, num = add_number(num, ai)
if flag == True:
print('사용자가 승리')
break
num_print(lst)

728x90
반응형
'프로그램' 카테고리의 다른 글
[파이썬] 문제 : 2개의 정수 A,B를 입력 받아서 A부터 B까지 합 구하기 (0) | 2024.06.21 |
---|---|
[파이썬] 터틀(turtle) ㄱ 회전하면 그리기 (0) | 2024.06.20 |
[파이썬] 문제 : 슈퍼마켓 상품으로 판매 영수증 출력하기 (0) | 2024.06.11 |
[파이썬] 문제 : 홀수, 짝수 판단 (0) | 2024.06.11 |
[파이썬] 문제 : 가로, 세로를 2배수, 3배수로 늘리면 넓이 계산 (0) | 2024.06.11 |
댓글