반응형

 

 

 

 

튜플의 선언

tuple1 = (1, 2, 3, 4)

tuple2 = 1, 2, 3, 4

mylist = [1,2,3,4]
tuple3 = tuple(mylist)

 

** 튜플은 한번 정해진 순서를 바꿀 수 없다.

** 튜플은 값의 변경과 삭제가 불가능

 

 

튜플도 리스트처럼 인덱스를 쓸 수 있다.

tuple1 = (11, 22, 33)

for i in range( len( tuple1) ):
    print( tuple1[i] )

 

 

packing, unpacking

packing

  • 하나의 변수에 여러개의 값을 넣는 것

unpacking

  • 패킹된 변수에서 여러개의 값을 꺼내오는 것
c = (3, 4)
d, e = c    # c의 값을 언패킹하여 d, e에 값을 넣었다
f = d, e    # 변수 d와 e를 f에 패킹

 

튜플의 활용

  • 두 변수의 값을 바꿀 때 임시변수가 필요 없다.
  • 함수의 리턴 값으로 여러 값을 전달할 수 있다.

 

 

Packing 실습

x = 3
y = 5

position = (x,y)

print("x, y로 이루어진 튜플 position의 값은 {}입니다.".format(position))

 

 

 

Packing, Unpacking을 이용해 튜플의 값을 바꾸기

a = 1
b = 2

#코드를 작성해 보세요.
a, b = b,a

print("a : {}, b : {}".format(a, b))

 

 

 

 

튜플을 이용한 함수의 리턴값

튜플 리스트 활용

for a in enumerate(list):
    print('{}번째 값: {}'.format(a[0], a[1]))

for a in enumerate(list):
    print('{}번째 값: {}'.format(*a))

 

튜플 딕셔너리 활용

for a in dict.items():
    print('{}의 나이는:{}'.format(a[0], a[1]))

for a in dict.items():
    print('{}의 나이는:{}'.format(*a))

 

 

예시 )

products = {"풀" : 1800, "색종이" : 1000}

for product in products.items():
    print("{}은 {}원이다.".format(product[0], product[1]))

list = ['개', '고양이', '사자']
for product in enumerate(list):
    print("{}번째 값은 {}이다.".format(product[0], product[1]))

출력

풀은 1800원이다.
색종이은 1000원이다.
0번째 값은 개이다.
1번째 값은 고양이이다.
2번째 값은 사자이다.

 

 

 

 

 

 

input 조건을 넣어준 while문

while selected not in ['가위', '바위', '보']:
    selected = input('가위, 바위, 보 중에 선택하세요>')

 

 

while문으로 for문처럼 출력해보기

numbers = [1,2,3]
length = len(numbers)
i = 0
while 
i<length
:
    print(numbers[i])
    i = i + 1

 

 

 

 

 

 

 

 

 

 

반응형
반응형

 

 

 

딕셔너리

days_in_month = {
    #여기에 코드를 완성해 보세요.
    '1월' : 31,
    '2월' : 28,
    '3월' : 31
 }

print(days_in_month['2월'])

-> 28

 

 

딕셔너리의 이름표에는 문자열과 숫자형, 튜플을 사용할 수 있으며, 값으로는 어떤 자료형이 오던 상관 없습니다.

#            ↓ 이름표는 문자열 또는 숫자를 주로 사용하지만
dict = {     "이름표"    :    [1,2,3] }
#                           ↑ 값은 리스트를 포함해서 무엇이든 올 수 있습니다.

print( dict["이름표"] )

결과

[1, 2, 3]

 

 

 

 

딕셔너리 수정하기

  • 추가

    dict['three'] = 3

  • 수정

    dict['one'] = 11

  • 삭제

    del(dict['one'])

    dict.pop('two')

 

 

딕셔너리 Key와 Value 값 출력하기

days_in_month = {"1월":31, "2월":28, "3월":31, "4월":30, "5월":31}

for key in days_in_month.keys():
    print(key)
    
for value in days_in_month.values():
    print(value)

출력

1월
2월
3월
4월
5월
31
28
31
30
31

 

days_in_month = {"1월":31, "2월":28, "3월":31, "4월":30, "5월":31}

for key, value in days_in_month.items():
    #출력 형식은 아래 print함수를 참고하세요
    print("{}은 {}일이 있습니다.".format( key, value ) )

출력

1월은 31일이 있습니다.
2월은 28일이 있습니다.
3월은 31일이 있습니다.
4월은 30일이 있습니다.
5월은 31일이 있습니다.

 

 

 

인덱스를 이용하는 방법

products = {"풀" : 1800, "색종이" : 1000}

for product in products.items():
    print("{}은 {}원이다.".format(product[0], product[1]))

 

 

 

리스트와 딕셔너리 비교

 

 

 

값 확인

def check_and_clear(box):
    if "불량품" in box.keys():
        box.clear()
    
box1 = {"불량품" : 10}
check_and_clear(box1)
# {}가 출력되어야합니다.
print(box1)

box2 = {"정상품": 10}
check_and_clear(box2)
# {"정상품": 10}가 출력되어야합니다.
print(box2)

 

딕셔너리 합치기

products = {"풀":800, "딱풀":1200, "색종이":1000,"색연필":5000,"스케치북":3500}
catalog = {"겨울용 실내화":12000, "색종이":8000, "딱풀":1400}

products.update(catalog)

print(products)
{'풀': 800, '딱풀': 1400, '색종이': 8000, '색연필': 5000, '스케치북': 3500, '겨울용 실내화': 12000}

 

 

 

 

 

 

반응형
반응형

 

 

 

 

리스트

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

list[0] // 첫번째값
list[-1] // 마지막값
list[5], list[-6] // 에러
list[2] = 7 // 값 변경
rainbow=['빨강','주황','노랑','초록','파랑','남색','보라']
#rainbow를 이용해서 first_color에 값을 저장하세요
first_color = rainbow[0]
print('무지개의 첫번째 색은 {}이다'.format(first_color) )
rainbow=['빨강','주황','노랑','초록','파랑','남색','보라']
#rainbow를 이용해서 last_color에 값을 저장하세요
last_color = rainbow[-1]
print('무지개의 마지막 색은 {}이다'.format(last_color) )

 

 

 

리스트에 새로운 값을 추가하는 방법

  • list1=[1,2,3]이라고 할 때
  • append를 이용
    • list1.append(4)
    • append를 이용하면 리스트에 새로운 값이 추가된다.
  • 뒤에 새로운 리스트를 더하기
    • list2=list1+[4]
    • list1은 그대로 두고, 새로운 리스트를 만들어 낸다.
list1 = [1,2,3]
list2 = list1 + [4]

n = 4
if n in list2:
    print('{}가 리스트에 있다'.format(n))
list1=[1,2,3]
list2=[4,5,6]
list3 =list1+list2

print(list3)

=>  [1,2,3,4,5,6]

 

리스트에서 필요 없는 값을 지우는 방법

  • del을 이용해서 특정 위치의 값을 지우기
    • del list1[10] 리스트의 10번째 값을 지워라
  • remove를 이용해서 특정 값을 지우기
    • list1.remove(40)을 하면 리스트에 40이라는 값이 있는경우 삭제
    • 여러개의 값이 있는 경우 가장 앞에 있는 하나만 지워짐
list1=[1,2,3]
# 여기에 코드를 추가해 보세요.

del(list1[1])

print(list1)

 

 

 

For문

 

리스트를 for문으로 출력하기

list = ['가위','바위','보']

for n in list:
    print(n)

출력

가위
바위
보

 

 

for in range

range 함수

  • 필요한 만큼의 숫자를 만들어내는 유용한 기능
for i in range(5):
    print(i)
for i in range(0,5):
    print(i)

둘 다 결과는

0
1
2
3
4

 

enumerate

  • 리스트가 있는 경우 순서와 리스트의 값을 전달하는 기능
names = ['철수', '영희', '영수']
for i, name in enumerate(names):
    print('{}번: {}'.format(i + 1, name))

출력

1번: 철수
2번: 영희
3번: 영수

 

 

예시 )

rainbow=["빨","주","노","초","파","남","보"]
for i in range(len(rainbow)):
    color = rainbow[i]
    print('{}번째 색은 {}'.format(i+1,color))

출력

1번째 색은 빨
2번째 색은 주
3번째 색은 노
4번째 색은 초
5번째 색은 파
6번째 색은 남
7번째 색은 보

 

 

인덱스를 사용하여 출력하는 방법

list = ['개', '고양이', '사자']
for product in enumerate(list):
    print("{}번째 값은 {}이다.".format(product[0], product[1]))

 

 

 

 

 

모듈 사용하기

import math       # 수학과 관련된 기능
import random   # 무작위와 관련된 기능

math.pi
random.choice()

 

  • import math

    • 수학과 관련된 기능
  • import random

    • 무작위와 관련된 기능
  • import urllib.request

    • 인터넷의 내용을 가져오는 기능

 

 

모듈 만들기

  1. 사용할 함수, 메소드 코드를 작성한 모듈 파일을 생성
  2. 모듈이 쓰일 파일에 import를 사용하여 모듈을 호출
  3. 사용 방법은 기존의 모듈과 동일
  4. 주의할 점은 사용자가 만든 모듈과 모듈을 쓸 파일이 같은 폴더에 있어야 한다.

 

 

 

파이썬 공식문서 활용해보기

https://docs.python.org/3.5/library/random.html#random.choice 

 

9.6. random — Generate pseudo-random numbers — Python 3.5.9 documentation

9.6. random — Generate pseudo-random numbers Source code: Lib/random.py This module implements pseudo-random number generators for various distributions. For integers, there is uniform selection from a range. For sequences, there is uniform selection of

docs.python.org

import random

list = ["빨","주","노","초","파","남","보"]
random_element = random.choice(list)

print(random_element)

 

docs.python.org/3/library/random.html?highlight=random.randint#random.randint

 

random — Generate pseudo-random numbers — Python 3.9.1 documentation

random — Generate pseudo-random numbers Source code: Lib/random.py This module implements pseudo-random number generators for various distributions. For integers, there is uniform selection from a range. For sequences, there is uniform selection of a ran

docs.python.org

import random
random_number = random.randint(2,5)

print(random_number)

 

https://docs.python.org/3.5/library/random.html#random.shuffle 

 

9.6. random — Generate pseudo-random numbers — Python 3.5.9 documentation

9.6. random — Generate pseudo-random numbers Source code: Lib/random.py This module implements pseudo-random number generators for various distributions. For integers, there is uniform selection from a range. For sequences, there is uniform selection of

docs.python.org

import random
list = ["빨","주","노","초","파","남","보"]
# 여기에 코드를 작성해 보세요.

random.shuffle(list)

print(list)

 

 

 

 

 

 

 

반응형
반응형

 

변수선언과 print()

1. 코드

season = '겨울'
print('지금은', season, '입니다.')

 

2. 결과

지금은 겨울 입니다.

 

 

주석표시

#주석입니다아아아아
"""
여러 줄 주석은 이렇게 처리합니다아아아
"""

 

 

자동완성(Shell)

앞 1~2글자 입력 + tab 키 누르면 자동완성 기능

 

 

IF문

if True:
    print("조건식이 True이므로 실행됩니다.")
if False:
    print("조건식이 False이므로 실행되지 않습니다.")

** 주의 : if문 아래줄은 들여쓰기 되어야 한다.

from datetime import datetime 
hour = datetime.now().hour

#현재 시간이 12시보다 작을때만 print문을 실행하도록 이 아래줄에 if문을 추가하세요.

if(hour < 12):
    print('오전입니다.')#if문을 추가한 이후 이 줄은 들여쓰기 되어야 합니다.

 

 

IF ELSE문

mine = '가위'
yours = '바위'

if mine == yours:
    print("비겼습니다.")
#이 아래줄에 else문을 추가해서 비기지 않은 경우에만 아래 print문이 실행되도록 만들어 보세요
else:
    print("비기지 않았습니다.")#else문이 추가되고 나면 이 줄은 들여쓰기 되어야 합니다.

 

IF ELIF ELSE문

gender = "남자"

if gender == "남자":
    print("남자입니다.")
elif gender == "여자":
    print("여자입니다.")
else:
    print("논바이너리입니다")

 

 

 

 

현재 시간, 분 구하기

from datetime import datetime 
hour = datetime.now().hour
from datetime import datetime 
minute = datetime.now().minute

 

 

 

문자열.format()

number = 15
if number % 3 == 0: #number가 3의 배수인지 확인합니다.
    print("{}는 3의 배수입니다.".format(number))#이 코드는 실행됩니다.

number = 16
if number % 3 == 0: #number가 3의 배수인지 확인합니다.
    print("{}는 3의 배수입니다.".format(number))#이 코드는 실행되지 않습니다.
number = 20
welcome = '환영합니다'
base = '{} 번 손님 {}'

#아래 3개의 print는 같은 값을 출력
print(number,'번 손님',welcome)
print(base.format(number,welcome))
print('{} 번 손님 {}'.format(number,welcome))
#=>20 번 손님 환영합니다

 

 

 

함수 만들기

a = 5
b = 7

#이 아래줄에 a와 b를 더해서 result에 저장하는 함수add를 만들어 보세요.
def add():
    result = a + b #함수 내부의 코드가 되려면 이 줄은 들여쓰기 되어야 합니다.
    print(result) #함수 내부의 코드가 되려면 이 줄은 들여쓰기 되어야 합니다.
    
#이 아래에서 add함수를 사용해 보세요.
add()
def add(a,b):
    #함수 add에서 a와 b를 입력받아서 두 값을 더한 값을 result에 저장하고 출력하도록 만들어 보세요.
    result = a + b
    print( "{} + {} = {}".format(a,b,result) )#print문은 수정하지 마세요.

add(10,5)

 

 

 

Return이 있는 함수 만들기

def add_10(value):
	result = value + 10
	return result

n = add_10(5)
print(n)

 

 

 

따옴표/큰따옴표를 포함하는 문자열 만들기

#string1을 선언하세요.
string1 = """다스베이더가 말했다.
"내가 니 애비다!"
그 말을 들은 루크는 '깜짝' 놀랐다."""

print(string1)

""" 안에다 '작성'하면 된다. """

 

 

정수와 실수

정수

  • 영어로 integer, 줄여서 파이썬에서는 int라고 표현
  • 정수끼리 더하거나 곱하거나 빼면 정수
  • 정수끼리 나누면 실수가 나올 수 있으나, 나눗샘의 몫만을 구하려면 //연산자를 이용

    • a = 5//3 #계산결과 a=1

  • 실수를 정수로 바꾸려면 int를 이용

    • a=int(5.4)라고 하면 a는 5를 값으로 가지게 된다.

실수

  • 부동소수점이라는 표현법을 이용해 소숫점을 표시할 수 있는 숫자
  • 어느정도의 계산 정확도는 가지지만, 계산에 있어서 완벽한 정확성은 가지지 않는다.

    • 0.1+0.1+0.1 == 0.3 #FALSE

  • 정수를 실수로 바꾸려면 float를 사용

    • a=float(5)라고 하면 a는 5.0을 값으로 가지게 된다.
  • float끼리 비교하고 싶다면, 값을 float() 안에 넣어서 비교하면 된다.
height = float(169)
h2 = float(169)

if height == h2:
    print('같습니다')

-> 결과 : 같습니다.

 

 

사용자 입력 받기

print('가위 바위 보 중 하나를 내주세요> ')
mine = input()
print('mine:', mine)
mine = input('가위 바위 보 중 하나를 내주세요> ')
print('mine:', mine)

 

 

 

반응형

+ Recent posts