프로젝트: 보물섬
choice1 = input('You\'re at a cross road. Where do you want to go? Type "left" or "right" \n').lower()
⇨ ‘You're 코드가 아닌 텍스트로 보라고 컴퓨터에 알리고 싶을 때 백슬래쉬
Note: ASCII art 사이트 ⇨ ascii.co.uk/art
ASCII art 출력되게 하려면 print(‘'’………………..’’’)⇦ 작은 따옴표 세개씩 찍어줘야 함
무작위화 및 파이썬 리스트 (Randomisation and Python Lists)
무작위화(Randomisation) : random모듈
일정 수준의 예측 불가능성이 존재하는 컴퓨터 프로그램을 개발할 때.
주로 게임에 사용됨(ex : 테트리스, 주사위, 동전 던지기, 가위바위보..)
Random number(난수) 생성하기 위해 다양한 수식이 존재하며, 파이썬에서는 메르센 트위스터(Mersenne Twister)를 씀
🐻❄️난수생성 관련 영상 링크🐻❄️
🦁 모듈이란?
복잡한 것을 개발하기 위해 코드가 너무 길어지는 경우 코드를 개별 모듈로 나누는 작업을 하게 됨
각 모듈은 프로그램에서 서로 다른 기능을 담당하게 됨
random함수 : 부동 소수점 난수 생성 (0 to 1.0)일 때 1은 포함되지 않음
random_float = random.random() ⇦ 1을 포함하지 않고 0과 1사이에 존재하는 숫자를 출력하게 됨
만약 0 to 5( 5는 포함하지 않음)까지의 소수점 난수를 생성하고 싶다면
random_float = random.random() * 5
사용예시)
love_score = random.randint(1, 100)
print(f"Your love score is {love_score}.")
Lists(리스트)
- 데이터를 체계화하고 저장하는 방식
- [대괄호] 안에 쉼표와 함께 모든 데이터 형식을 저장할 수 있음
- 혼합된 데이터 형식도 저장 가능
- 리스트 데이터 불러올 때 변수명[ ] ⇦ 순서 숫자 넣어줌. 0부터 시작
- 음수 인덱스도 사용가능함. 끝에서 부터 반대로 진행
- ’ 변수명[1] = 변경할 값 ‘ 으로 값 변경도 가능
- 변수명.append(추가할 값) ⇨ 하나의 항목을 리스트의 마지막에 추가
- 변수명.extend([추가리스트1, 추가리스트2]) ⇨ 여러개의 항목 리스트에 추가
다 외울 필요 없음..
파이썬 리스트 관련 링크
밥값 내기
.split(“ , “) ⇨ 문자열이 구분 기호에 따라 구분된 문자 리스트로 바뀌게 됨
ex)
str_inp = "Hello, from, AskPython"
op = srt_inp.split(" , ")
print(op)
output:
['Hello', 'from', 'AskPython']
내가 쓴 코드
수업코드
len함수 : 리스트 안의 요소의 수나 문자열의 글자 수를 가져올 수 있음 왜 굳이 len을 써야하나 잠깐 의문이었으나 개수가 많은 곳에서는 필요함
random.choice : 리스트와 같은 시퀀스에서 무작위 항목을 생성할 수 있음
IndexError 및 중첩 리스트 활용하기
index out of range ⇨ 범위를 벗어난 수치를 입력했을 때 출력되는 오류
중첩리스트
특정 데이터 구조의 유연성을 보여주고 리스트를 활용할 수 있는 방식. 파이썬 코드 작성할 때 자주 씀
코딩연습-보물지도
게임룰이 헷갈려서 뭔 말인가 했다……
vertical이 결국 row list를 결정하는 요인이라 map지정시 우선적으로 써줘야 함
선택은 1-3 사이로 할 수 있지만 컴이 인식하는 범위는 0-2 이기 때문에 -1 해줌