나의생각)
1~31까지 리스트를 만들어서 플레이어와 컴퓨터가
낸 숫자를 삭제하는 방식으로해서
리스트의 0번째가 31이면 게임오버 되는 방식으로 구현해봤다
import random
#플레이어
def player():
n = int(input('>>>')) #1~3까지 입력
for i in range(n):
print('player>>',lst[0])
del lst[:1]
if len(lst) == 0:
print('Blows up')
quit()
print(lst)
return lst
#컴퓨터
def computer():
i = random.randint(1,3)
for j in range(i):
print('computer>>', lst[0])
del lst[:1]
if len(lst) == 0: # 리스트 비게 되면 종료
print('Blows up')
quit()
print(lst)
return lst
#랜덤으로 플레이어 선정
a = ['c','p']
x = random.randint(0,1)
s = a[x]
# print(a[x])
#1~31까지 리스트생성
lst = list(range(1,32))
print(lst)
for x in range(10): #n번 반복
if s == 'p':
player()
computer()
elif s == 'c':
computer()
player()
생각지 못했던 부분:
처음에는 제시한 숫자의 개수만큼 리스트에서 한꺼번에
삭제하는 방식으로 했는데
예를 들어 숫자를 3개 냈고
리스트에 [30,31]이 남아있는 경우, 리스트 범위 에러가 뜨는
바람에 리스트에서 숫자를 한개씩 지워가는 방식으로 수정했다
반복되는 패턴을 효율적으로 짜기위해
딕셔너리와 리스트의 방식을 사용해봤다.
되는듯 안되는듯...어쩔된 되고 어쩔땐 오류나고;
아직까지 문제점이 뭔지 제대로 모르겠으나
딕셔너리, 리스트 방식으로 효율적인 코드구성을
생각해볼 수 있었다.
....^^ 할말이 많지만 동시에 어느 말도 할 수가 없다ㅋ
흉내야 비슷하게 내지만 대충 보이는걸로 이게 잘 된건지
안된건지 알 수가 없다.
반응형 웹은 계속 봐도 뭐가 뭔말인지 모르겠고요.
그나마 조금 알게된게 position 기능과 display:flex 인데
프론트엔드 작업은 이것저것 건드려 보면서
아! 여기서 이걸 없애면 되고, 안 없으면 안되네!의 이유를
알 수가 없다는 것이다.
아무튼 여기서 건져갈 건 flex 개념인 것 같아
flex구조를 복합적으로 사용해 보고 있는데
생각보다 또 잘 되서 ...? 하는 중이다.