Day10 - Python(3). 22.09.05.월

류소리·2022년 9월 4일
0

파이썬

목록 보기
3/10

[금요일 복습]

+1.
파이썬 고유의 자료형?
: list, tuple, dictionary, set

+2.
a = [1, 2, 3, 4, "Hello", "Good Morning"], a.remove(4)
: [1, 2, 3, "Hello", "Good Morning"]

-> remove는 딱 그 문자만 없애줌

+3.
a = [1, 2, 3, 4, "Hello", "Good Morning"], a.pop(4)
: [1, 2, 3, 4, 'Good Morning']

-> pop은 자리수 숫자 문자를 없애줌

+4.
for 문, range를 사용하여 팩토리얼을 구현하시오. a= int(input(" 팩토리얼을 구할 수를 입력 하세요."))

: a = int(input("팩토리얼을 구할 수를 입력하세요: "))
result=1
for i in range(1, a+1):
result *= i
print(result)

+5.
0, 1000 까지 짝수만 저장된 리스트를 생성하시오.

(1)

list_= []
  for i in range(0,1001,2):
      list_.append(i)
  list_ 

(2)

l = []
for i in range(0, 1000):
    if i % 2 == 0:
        l.append(i)
print(l) 

(3)

a = list(range(0, 1001, 2))  print(a)

(4)★

b=[i for i in range(0,10+1,2)]
l = [ ]
for i in range(0, 1000):
    if i % 2 == 0:
        l.append(i)
a = [i for i in range(0,10+1) if i % 2 == 0]
   print(a): 위에 꺼랑 같은거   

+6.
복사를 하는 3가지 방법

  • a= [1,2,3]

(1)b = a #새로 만드는게 아니라서 자제하는게 좋다.
(2)c = a.copy() #객체 뒤에 불어있는걸 메소드라 부름.
(3)d = a[:]

  • import copy #일반적으로 사용하는 방식. 패키지에서 불러옴.

(4)e = copy.copy(a)

  • from copy import copy #카피라는 패키지에서 카피 함수를 가져왔다.

+7.
a= [1, 2, 3, 4, ' hello', 'good morning', [5, 6, 7, 8]]에서 m만 출력하려면?

: a[5][5]

+8.
a= [1, 2, 3, 4, ' hello', 'good morning', [5, 6, 7, 8]]에서 morning 만 출력하려면?

:a[5][5:12]

+9.
a = [1, 3, 4, 2]를 [4,3,2,1]로 표현하려면?

: a.sort() : 오름차순으로 됨. 저장됨
a.reverse() :내림 차순됨. 저장됨
print(a)


[오전 수업 시작 p130, p140]

< 이스케이프 문자 p48 >

  • \n : 줄바꿈
  • \t : 탭
  • \" : 그대로 출력
  • \' : 그대로 출력

https://colab.research.google.com/drive/1fGNqh96QNqd9WQPKIZC6lJXQFyvbBmf-#scrollTo=Sf6ZZLpKexj_ -> 내꺼

<1부터 10까지 합을 while 문으로 작성하시오.>

i=0
sum=0
while i < 10 :
    i += 1
    sum += i
print(sum)    

<while 과 for의 차이>

  • for은 반복 횟수가 정해져 있을때,
  • 보통 count 해서 멈춰라 하고 바깥에 변수를 줌

<while 돌아가는 모습 확인하기>

break / while True : 무한루프

  • time.sleep : 잠자듯이 천천히 나온다

random 모듈


[오후수업 p150, 함수]

<함수의 구조 p151>

  • def 함수이름(,):
  • 실행할 문장
  • return 변수
def add(a, b):
    c= a + b
    return c
    
add(1,2) -> 3    

<함수 만들기 (매개변수 / 인수 ) p152>

  • 입력받은 것으 2배해서 내놓는 함수 twice 만들어라
def twice(a):
    return 2 * a 
twice(4)  -> 8

<입력값이 없는 경우 p154>

def add():    #입력값 비어있음.
    a=10
    b=20
    return a+b
    
add() -> 30
  • 홀수이면 2배, 짝수이면 나누기 2배를 해서 리턴하는 함수 만들어라.
def odd_even (a):
    if a % 2 == 1:
        return a*2   #return을 만나면 끝난다.
    else:
        return a/2

odd_even(3) -> 6

<return 과 print의 차이 p155>

def func_r(a):
    return(a*2)  #우린 이걸 써야해 함수에서는 리턴값이 나옴

b = func_r(3)
b/2 
-> 3.0
def func_p(a):
     print(a*2)    #그저 보여 줄 뿐

b= func_p(3)
b/2
->6

type(b)
->NoneType

b=func_p(3)
print (b)   
->6
  None

<키워드 파라미터 p159>

def kw_test(**kwargs):
    print(kwargs)
    
kw_test(a=1,b=2)
-> {'a': 1, 'b': 2}   :  딕셔너리
def kw_test(*kwargs):
    print(kwargs)

kw_test(1,2,3,4)
-> (1, 2, 3, 4)   : 튜플

<매개변수 초깃값 설정 p162>

def myself(name, age):
    print(f"나의 이름은 {name}이고, 나이는 {age}세입니다.") 

<효력범위 p164>

d=5     #global:전역변수
def add(a,b):
    c= a+b          #local:지역변수
    return c +d   

add(1,2)
#print(c)

<lambda( ):이름이 없는 p167>

(lambda a,b: a+b)(1,2)
f=lambda a,b: a+b
f(1,2)
  • 재귀함수
import time
def hello(count):
    if count == 0:
        return
    print("안녕하세요")
    time.sleep(1)
    count -= 1
    hello(count)

(+) 코딩도장 추가하기

  • 식 형태로 표현되어있다.
  • 함수로 간편하게 작성할 수있다.
  • 다른 함수의 인수로 넣을때 주로 사용한다.
  • 실행 하다 보면 함수 객체 나오는데 이 상태로 함수를 호출 할 수 없음
  • 람다 표현식은 이름이 없는 함수를 만든다.
  • 람다 표현식을 익명함수라고 부르기도 함
  • 매개변수 , 연산자 ,값 등을 조합한 식으로 변환값을 만드는 방식임.

profile
새싹 빅테이터 개발자

0개의 댓글