카테고리 없음

파이썬 다운로드 및 설치와 리스트 설명 (3일차 수업 필기)

Luis. 2022. 2. 18.

 

제어문, 조건문, 반복문, 인덱싱, 슬라이싱, 콜렉션 개념​

 

Ctrl + enter / Shift + enter 로 실행, 셀 구분 기능

(하나의 작업 창을 셀이라고 함)

list : [] 대괄호 사용,

tuple :

range는 수정이 불가능한거라 tuple. range(0, 5)는 (0, 1,2,3,4)의 읽기 전용 목록

set : () 소괄호 사용, 집합 자료형, 중복 불가

dictionary : {} 중괄호 사용, key와 value값을 대칭해서 가짐

1. 파이썬에서 리스트를 왜 사용하는가?

- 하나의 이름으로 많은 변수를 다루기 위해서

2. 리스트를 나타내는 괄호는?

- 소괄호, 중괄호, 대괄호

3. 제어문 3가지

- if, while, for

4. 조건문을 쓸 때 사용하는 단어, 여러 조건인 경우

- elif

5. 반복문 2가지

- while, if

6. 리스트에서 index란?

-

7. 파이썬에서 dictionary란?

- key와 value로 이루어진

8. import datetime에서 datetime이란?

- 시간을 표현하는 모듈 (파이썬에서는 파일이라고 부름)

9. 리스트에서 인덱싱과 슬라이싱의 의미

-

10. range(0, 11)의 의미는?

- 0번 부터 10번 까지의 리스트 0 1 2 3 4 5 6 7 8 9 10

1. 파이썬에서 리스트를 왜 사용하는가?

변수에는 한 값밖에 넣지 못하며, 수많은 변수를 일일이 선언할 수 없기에 한 번에 데이터를

집어넣기 위해 리스트를 사용

2. 리스트를 나타내는 괄호는? [](대괄호)

3. 제어문 3가지 : if for while

4. 조건문 쓸 때 사용하는 단어, 여러 조건인 경우 : if, elif, else, break

5. 반복문 2가지 : for, while

6. 리스트에서 index란? 요소를 꺼내기위한 참조값

7. 파이썬에서 dictionary란? 키와 값을 짝지어 보관하는 자료 형태

8. import datetime에서 datetime이란? 패키지

9. 리스트에서 인덱싱과 슬라이싱의 의미

인덱싱은 참조값을 사용하여 특정 요소를 추출하는 것이고,

슬라이싱은 참조값의 범위를 사용하여 리스트의 특정 범위를 추출하는 것

10. range(0, 11)의 의미는 : 0부터 10까지 자연수의 나열

# 리스트 : 많은 양의 데이터를 한꺼번에 다루기 위해서!

# 순서를 가지고 있음.

name = ['홍길동', '박길동', '송길동']

#0 1 2 (R만 1에서 시작하고 대부분 언어는 순서가 0에서 시작함)

print(name[0]) #리스트 중 첫 번째 값

print(name[1])

print(name[2])

print(type(name[0]))

# 위치값 : index는 0부터 시작, 마지막 위치는 전체 개수 -1

# 한 줄 삭제 : ctrl + d

name = ['홍길동', '박길동', '송길동']

print(name[0]) #index가 증가

print(name[1])

print(name[2])

print('--------------------')

index = 0 # start값

while index < 3: # 조건식

print(name[index])

index = index + 1 #증감식 # =기호 연산은 가장 마지막에 해줌

print('------------------')

print(name)

print('---------------------')

# 팀원의 나이의 리스트를 만들어서, 반복문으로 찍어보고, 리스트의 전체 목록 확인

# 모든 프로그래밍 언어에서, 숫자를 쓸 때는 따옴표

# 무자인 경우는 따옴표 씀

age = [30, 28, 26]

index1 = 0

while index1 < 3:

or

length = len(age)

while index1 < length

or

while index1 < len(age)

print(age[index1])

index1 = index1 + 1

print('---------------')

print(age)

print(len(age)) # 리스트의 개수를 구하는 length 함수 : len(리스트명)

print(age[len(age)-1]) # 리스트 마지막 변수 구하기

hobby = ['달리기', '자전거 타기', '여행하기']

# 제 취미의 개수를 프린트해주세요

print(len(hobby))

# 제 취미가 자전거 타기에서 오토바이 타기로 바뀌었어요

hobby[1] = '오토바이 타기'

# 제 취미의 전체 리스트를 프린트

print(hobby)

i = 0

while i < len(hobby):

print(hobby[i])

i = i + 1

del(hobby[0]) # 리스트 수정할 땐 del, 바꿀 땐 새로 정의

print(hobby)

movies = [] #빈 리스트

#삽입(중간에!), 추가(끝에!)

movies.append(100) #리스트 안에서만 제공하는 함수이기 때문에 .을 사용

print(movies)

movies.append(200)

print(movies)

movies.append(300)

print(movies)

print(len(movies))

#

#

jumsu = [] # 빈 리스트

i = 0 # 인덱스 값 지정

sum = 0 # 점수 총합 변수 값 지정

while i < 3: # 인덱스가 3보다 작을 경우 while문 반복

data = input('점수 입력>> ') #입력된 점수를 data 변수로

jumsu.append(int(data)) #입력된 문자변수를 정수로 변환하여, 리스트에 추가

sum = sum + jumsu[i] #추가된 점수 변수를 더해 점수 총합 구하기

i = i + 1 #다음 리스트 값을 추가하기 위한 인덱스 값+1

print(sum)

print('합계: ', sum) #합계

print('평균:', sum / i) #평균

print(jumsu)

print(jumsu.count(200)) #리스트 안에 200이 몇 개나 들어있는가

# print(jumsu.sort()) #sort만 수행하는 함수라서 프린트가 불가능

jumsu.sort() #원본을 건드렸나요? 네 -> 파괴적 함수

print(jumsu) #비파괴적 함수

print(jumsu[0])

# 입력 : 홍길동

# 입력 : 파이썬

# 입력 : 프로그래머

# 입력 : 데이터 분석가

# 홍길동 파이썬 프로그래머 데이터 분석가

sum = ''

while True:

data = input('입력(종료는 x): ')

# 입력된 값이 x인지를 먼저 체크해야 함

if data == 'x' or data == 'x':

print('반복문을 종료합니다.')

break #반복문을 종료!

sum = sum + data

print(sum)

food = ['라면', '커피', '아이스크림', '라떼' , '팥빙수']

#인덱싱

print(food[0])

print(food[-1])

print(food[-2])

#슬라이싱

print(food[0:2]) #0~1 인덱스까지 리스트 가져오기, 뒤에 건 원하는 값보다 +1 해서 써준다

print(food[2:5])

print(food[2:]) #입력 안 하면 끝까지

print(food[:3]) #0~2

print('------------------')

drink = ['물', '아메리카노', '맥주']

all = food + drink

print(all)

print('------------------')

drink3 = drink * 3 #반복의 의미

print(drink3)

print('------------------')

drink.insert(0, '라떼') #넣고 싶은 인덱스에 넣어줌, 파괴형 함수!

print(drink)

print(drink.index('라떼')) #위치값을 알려줌

data = input('지금 먹고 싶은 것? 물, 아메리카노, 맥주>> ')

if data == '물':

print('밖으로 나가서 정수기로 갑니다.')

elif data == '아메리카노':

print('이디야가서 사먹는다.')

elif data == '맥주':

pass

else:

print('다시 제대로 입력해주세요.')

import datetime #모듈명

now = datetime.datetime.now() #현재 시각과 날짜

print('현재는: ', now)

hour = now.hour

print('현재 시간은: ', hour, '시')

if hour <= 11:

print('굿모닝')

elif hour <= 17:

print('굿 애프터눈')

elif hour <= 22:

print('굿이브닝')

else :

print('굿나잇')

print('----------------')

print('올해는 ', now.year , '년')

print('현재 달은 ', now.month , '월')

print('오늘은 ', now.day , '일') #이외에도 now.minute now.second

import datetime

now = datetime.datetime.now()

month = now.month

if month < 2:

print('아직은 조금 춥겠군요')

elif month == 2:

print('조금 있으면 봄이 오겠군요')

else:

print('새해의 시작이 되겠군요')

if 3 <= month <= 5:

print('봄')

elif 6 <= month <= 8:

print('여름')

else:

print('겨울')

subject = ['자바', '파이썬', 'R']

for x in subject:

print(x)

team = {'디자이너', '프로그래머', 'DB관리사'}

for x in team:

print(x)

dic = {'apple':'사과', 'banana':'바나나', 'melon':'멜론'}

for x in dic : #key목록만 찍힘

print(x)

# 3번 반복하고 싶은 경우

for x in range (0, 3):

# 별 10개를 1줄로 찍은 것!

for x in range(0, 10): #range(0, 10, 2 혹은3)하면 2혹은 3 씩 점프하면서 x 넣음.

print(x)

# print('★', end=" ")

for y in range(0, 10):

for x in range(0, 10):

# print(x)

print('★', end=" ")

print()

print() #한 줄 더 띄우고 싶을 때

list2 = [100, 200, 300, 400, 500, 600, 700, 800, 900] #list라는 이름의 리스트는 쓰지 않는 게 좋음. 오류 가능성

#test = []

#test2 = list()

#for문을 사용하세요

#----------------------------

# 1. 전체 목록을 프린트

for x in list2:

print(x, end=' ')

print()

# 2. 홀수 번째 있는 요소들을 프린트

for x in range (0, len(list2), 2):

print(list2[x], end=" ")

print()

# 3. 홀수 번째 있는 요소들을 다 더해서 프린트

sum = 0

for x in range(0, len(list2), 2):

sum = sum + list2[x]

print(sum)

# 4. 짝수 번째 있는 요소들을 프린트

for x in range (1, len(list2), 2):

print(list2[x], end=" ")

print()

#########################

# for문을 이용해서 풀어보세요

# 1부터 1000까지 더해보세요.

sum2 = 0

for x in range(1, 1001):

sum2 = sum2 + x

print(sum2)

target = {1,2,3}

print(1 in target) # 값이 함수에 있는지 없는지 확인

target = [1,2,3,4,5]

print(1 in target)

# x는 요소를 꺼내는 임시 역할

for x in target:

print(x, end='')

print()

for x in range(0, len(target), 2):

print(target[x])

import turtle

pen = turtle.Pen()

pen.left(90)

pen.forward(100)

pen.right(90)

pen.forward(100)

pen.right(90)

pen.forward(100)

pen.right(90)

pen.forward(100)

i = 0

while i < 3:

pen.right(90)

pen.forward(100)

i = i + 1

import turtle

pen = turtle.Pen()

pen.color('red')

pen.shape('turtle')

while True:

choice = input('왼쪽: left, 오른쪽: right, 종료: x>> ')

if choice == 'x':

print('종료합니다.')

break

if choice == 'left':

pen.left(30)

pen.forward(100)

if choice == 'right':

pen.right(30)

pen.forward(100)

# 들여쓰기 : indent (인덴트)

# 코드 자동 정리 => ctrl + shift + f ; 알아서 균형감 있게 코드가 정리됨

# 리스트, 집합, 사전, 튜플 => 모음(collection)

team = {'디자이너', '프로그래머', 'DB관리사'}

print(team)

team.add('디자이너')

print(team)

ski = ['박스키', '송스키', '김스키', '정스키']

del ski[1] #del(ski[1])

print(ski)

phone = {1:'엄마', 2:'아빠', 3:'친구', 4:'동생'} # 숫자여도 스트링 이어도 상관없음

print(phone.get('아빠'))

print(len(phone))

반응형

댓글

💲 추천 글